[Powered by Google Translate] ZAMYLA CHAN: Okej.
Hej, alla, och välkomna till Walkthrough 0.
Mitt namn är Zamyla, och jag kommer att leda dessa
genomgångar i år.
Under CS50 är alla problem set tillsammans med en genomgång
där vi ska gå igenom veckans problemet set, prata
igenom, prata hur du kommer igång, diskutera olika
tekniker och tips för att verkligen bryta problemet satt i
några hanterbara biter.
Jag är också väldigt glad att besvara alla frågor som du
har på problemet set.
Utan vidare, jag är glad att du är här, oavsett om du är
Här personligen eller trimning på nätet.
Låt oss komma igång.
>> Så den första p-uppsättning i CS50 -
faktiskt, vi kommer inte att komma in skriva och maskin
kod grejer riktigt än.
Vi har faktiskt kommer att använda Scratch, som är ett
program som tillåter oss att göra några drag och släpp
programmering.
Och så även om vi inte skriver, gör det verkligen för oss att
utforska några av de grundläggande begrepp som
Vi kommer att använda alla i hela CS50.
Nu, några av dessa begrepp är
listade här i verktygslådan.
Vad jag skulle vilja göra för varje genomgång är presentera alla
med en uppsättning verktyg som du kan använda för genomgång.
Och så, oroa dig inte.
Vi ska gå igenom alla dessa villkor och alla dessa
teorier under genomgången.
Nu, om du slutar använda alla dessa verktyg, eller bara
några av dem, det är verkligen bra att veta vad du har
med att kunna ta itu med problemet set.
>> Så i Scratch, är det första jargong som du måste veta vad
en sprite är.
Så varje föremål eller varje tecken, oavsett om det är en katt en hund
eller en boll, kallas en sprite.
Och så, om jag vill, säger två katter - oavsett om de är
identiska -
Jag måste göra två separata sprites i Scratch.
Och så sprites har manus associerade med dem.
Skript är faktiskt vad du kommer att bli byggnad -
dra och släppa - med dina block.
Och så vad skript gör är typ av bestämma och definiera hur
spriten fungerar.
Sprites är faktiskt inte bara bilder, eftersom vi har
dräkter också förknippade med sprites denna typ av
avgöra vad spriten ser ut.
Och du kan ha mer än en kostym för en given sprite.
>> Så någon gång under din Scratch programmet, som vi ska visa
senare i dag under genomgång, kan du faktiskt
ändra kostym på din sprite så att det ser antingen
något annorlunda eller helt annorlunda.
Och så finns det tre sätt att skapa en sprite i Scratch.
En, kan du rita din egen i Scratch s
byggt i färg redaktör.
Du kan ladda upp din egen bild, använd en av Scratch: s inbyggda
sådana, eller det sista alternativet, få ett slumpmässigt sprite.
Nu, om du känner dig särskilt lycklig, då jag
Välkommen att prova lyckan och skapar en slumpmässig sprite.
>> Så alla sprites placeras på
scenen i Scratch.
Scenen - vi kan behandla det som vår duk.
Och så alla sprites placeras på scenen.
Och detta skede vad det gör tillåter alla sprites
att röra sig på det.
Och precis som sprites, har scenen också skript.
Och så dessa skript, för att placera dem på scenen -
det är verkligen bra när, säg, har du ett manus som inte
exakt avser en specifik sprite, utan
avser flera sprites eller bara i allmänhet, något
som du vill göra.
Så du kan placera dessa skript på scenen i stället, och att
skulle vara något bättre design.
Nu, när du kan ha flera sprites, det är bra att
Tänk på att du bara kan ha ett steg.
Men steg har också bakgrunder.
I motsats till kostymer, som sprites gör, steg har
bakgrund.
Och igen, kan du rita antingen din egen eller ladda upp din egen
bild som ska användas som bakgrund.
>> Så har någon några frågor innan vi går vidare?
OK.
Känn dig fri att avbryta mig vad under genomgång och
Jag är glad att besvara alla frågor du har.
OK.
Så när du startar din sprite programmet, vad du ska
göra är att du kommer att klicka på den gröna flaggan.
Men om du inte ansluter något till detta block rätt
Här sedan ingenting är faktiskt kommer att hända.
Jo, ser du, vad manus och scenen behöver
göra är faktiskt vet att svara på händelsen -
Det är vad vi kallar dem, evenemang - den gröna flaggan
som klickade.
Så du måste verkligen fästa block till spåret vid
botten av den gröna klickade flaggan blocket, och sedan
Programmet kommer att veta vad man ska göra och hur man ska bemöta de
gröna flaggan som klickade.
>> Nå, vad kommer sedan?
Tja, vi har en uppsjö av block i grunden för att använda, och
var köttet, verkligen, av ditt program ligger i dessa
uttalanden.
Och så dessa uttalanden är bekvämt
organiseras av färg.
Du har åtgärder relaterade till rörelsen,
ljud, utseende, et cetera.
Och så att du kan se kan du navigera mellan dem i
flikar i din Scratch program.
Och så, medan du har andra saker byggda runt det,
vad de uttalanden faktiskt faktiskt berättar
sprites eller på scenen för att göra något.
Och inte bara säga, OK, när du gör detta,
rapporterna innehåller faktiskt den verkliga kött av det.
Låt oss säga att du vill bara köra en viss åtgärd, säger
du bara katten att jama när en viss sak händer.
Vi kan dra nytta av Booleans som du lärt dig i
föreläsning ett.
Och så dessa är uttryck som utvärderas till
antingen sant eller falskt.
Och så dessa identifieras i Scratch av -
ser vinklarna vid slutet av dessa block.
Och så har du en mängd olika typer av Booleans.
Du har "är den mest pressas ned," "gör 2 plus 2
likställa till 5, "eller" användaren trycka ner en viss tangent på
tangentbordet? "
>> Nu kan du inte bara använda dessa ensam.
Vad du behöver göra är att kombinera dem med ett villkor.
Så villkoret är där under kontroll fliken i Scratch.
Och så har de lämpligen en liten platshållare som
visar formen på det block som du behöver för att sätta i det.
Så beroende på sammanhanget av situationen, kan du välja
en boolesk och sedan placera den i ditt tillstånd.
Och där har du en villkorlig uttalande.
Om du lägger uttalanden inne som blockerar, så har du en
struktur som inrättats, där en gång ett visst villkor är uppfyllt på
vänster, kör du sedan uttalandet.
Ja?
>> STUDENT: Om en variabel representerar ett nummer kan du
använda variabeln inuti Boolean, som den gröna,
till exempel?
ZAMYLA CHAN: Ja, du kan.
Du kan dra och släppa variabelvärdet inuti
cirkulär form där.
>> Nu är en av fördelarna med datorer stora kraften
och hastighet med vilken de kan utföra repetitiva processer.
Och så, i stället för, säg, upprepa en instruktion över
och om och om igen och faktiskt skriva ut det - eller
i detta fall i Scratch, dra och släppa och
dra och släppa -
vad vi kan göra är att kapsla in det i en slinga.
Och så, kan slingor användas för att antingen utföra saker
oändligt med evigt slinga, eller för en
visst antal gånger -
säger, upprepa "Säg hej" 10 gånger eller tills ett visst
villkor är sant.
Och så igen, ser du att grunden är antyder att när
du har ett tillstånd som "repeat tills" då det enda
sak som passar inuti finns ett booleskt värde.
Okej.
>> Så nu vet vi att vi kan kapsla repetitiva
processer inuti slingor.
Du kan se varför något sådant inte skulle vara perfekt.
Det passar inte på bilden.
I huvudsak, det gör det precis samma sak om och om igen
10 gånger, faktiskt.
Det rör sig 10 steg, säger hej, flyttar 10 steg, säger hej.
Så nu kan du se att när vi har öglor, något som
Detta är mycket bättre.
Det är kortare, det mindre, och det faktiskt slutför
samma sak.
Nu i Scratch inte kan göra mycket av en skillnad, men
det sparar faktiskt dig lite tid.
>> Så på den rörliga uttrycket -
Du kan faktiskt använda variabler och sätta dem inne i
förhållanden.
Som uttrycks där, ser du att vi har en variabel som heter
"Motverka", och vi likställa att se om
det är mindre än 0.
Så variabler huvudsak skulle jag säga,
behållare för värden.
I Scratch kan dessa typer av värden vara antingen ord eller
de kan vara tal.
Och så, med dessa variabler, vad vi kan göra med dem är att vi
kan ställa sitt värde.
Så i det första exemplet här har vi ett exempel på text
innehåller värdet "Hello, World!" I det andra exemplet,
det förutsätts att vi redan har en variabel som heter
"Motverka", och i så fall, vi ändrar det med 3.
Vi uppräkning genom 3.
Och sedan i det sista exemplet, kan variablerna dras
sättas i ett booleskt uttryck.
>> Nu, när du skapar en variabel, vad du har att
avgöra är om du gör variabel för alla
sprites i ditt Scratch program eller för bara
detaljer sprite där du har valt när du gör
variabeln.
Och så detta är ett mycket viktigt beslut att fatta.
Och det kommer verkligen ner till vilket utrymme du vill
variabel ha.
Så till exempel, skulle ett exempel på lokal omfattning vara om du
Välj bara för denna sprite att variabeln.
Så det skulle betyda att endast den sprite skulle kunna
komma åt den variabeln.
Bara att sprite skulle kunna se det,
ändra det, ändra det.
Om du väljer att ha en global räckvidd -
så det är om man säger till alla sprites, om
du väljer detta alternativ -
då innebär det att scenen liksom alla sprites
kommer att kunna se, ändra och komma åt den variabeln som
du har skapat.
Eventuella frågor hittills på variabler eller något?
Ja.
>> STUDENTEN för variablerna, kan du ha två variabler
samma namn om de är på olika sprites?
ZAMYLA CHAN: Så länge de är lokala sprites ---
Ah, ja, förlåt.
Så frågan var om du kan ha två variabler
samma namn i ett program och om du har två variabler med
samma namn men är både lokala sprites, så sprite en,
katten har ett variabelnamn "räknare" och sprite två,
hund, har en variabel med namnet "disk", så länge som de
är såväl lokala sprites, då deras räckvidd inte omfattar
resten av programmet.
Och så att ingen av de andra sprites eller
steg kommer att bli förvirrad.
Okej.
>> Så jag nämnde tidigare ingångspunkten när vi hade
när grön flaggade klickade blocket.
Och så vad det är -
det säger, OK, när händelsen inträffar att den gröna flaggan är
klickade, det är vad du ska göra.
Och så är faktiskt inte den enda händelsen
som vi har i Scratch.
Vi har även andra evenemang.
Så vi har, till exempel, när en tangent på
tangentbordet trycks ned.
Och du kan faktiskt välja bokstäverna A till Z, 0
till 9, eller piltangenterna.
Och så har vi även andra händelser, som när
sprite klickas.
Och så när du börjar med det, märker du den viktigaste trenden
är att de bara har ett spår på botten, och så
då återigen fäster tangenter dig i att ingenting ovan
detta block.
Du bygger från och nedan.
>> Nu, säg, vad händer om vi vill ha lite händelse att hända bara
när jag inte vet, en katt vidrör en viss del av
scenen eller något liknande?
Vi har faktiskt inte har någon inbyggd
händelse att beteckna det.
Så vad vi måste göra är att faktiskt skapa vår egen händelse.
Och det kallas sändningar.
Så när du vill signalera att en viss har hänt,
då du använder - i kontrollgruppen fliken finns ett block som kallas
"Sänds." Och så då kommer du skriva in namnet på den
Om du vill sända, och sedan beroende
Sprite eller sprites -
Du kan ha flera sprites reagerar på detta meddelande -
eller scenen måste hantera det, måste
emot den, måste säga, OK, jag förstår att detta har
hände, så jag ska göra med det.
Och så när du sänder ett evenemang, det är med
förutsättning att vardera att sprite eller annan sprite är
kommer att behöva ta emot denna händelse och svara.
>> Nu, den sista konceptet innan vi får till en verklig exempel
av ett Scratch program är gängor.
Så trådar är när datorn körs
samtidiga processer samtidigt.
Jag garanterar er att vi alla har dragit nytta av
trådar när vi vi titta på en film samtidigt som
skriva en uppsats eller något liknande.
Datorn utför flera saker samtidigt
tid, precis som Scratch kan.
Som du kan se i det här exemplet, dessa två skript kan
användas för exakt samma spriten, eftersom dessa
början block Entry Point kan faktiskt används
multiplar gånger.
Jag garanterar er att förmodligen den gröna flaggan klickade blocket
kommer att vara en av de mest populära
block i ditt program.
Så här ser vi att när den gröna flaggan klickas, det finns
en process som pågår, liksom när den gröna flaggan är
klickade, det finns en separat process pågår.
Och så Scratch körs dessa två samtidigt.
Och så använder dessa trådar, att veta att du faktiskt kan
har mer än en ingång -
även om det är samma ingång -
det kommer att bli riktigt bra om du vill, säg,
separera olika uppgifter från varandra.
Okej.
Så låt oss faktiskt undersöka ett exempel på ett Scratch-program.
>> OK.
Så jag har redan gjort ett litet program för oss här.
Så jag ska bara klicka på den gröna flaggan för att starta och se
vad den gör.
Så vi har en orange fisk här -
en fisk sprite -
verkar röra sig och sedan återställa och gå tillbaka.
Och sedan har vi en haj sprite.
Och detta haj sprite kan flytta, det kan rotera, kan det
simma runt.
OK.
Så det är ganska kul.
Men vi kan definitivt lägga mer till det.
Till exempel ser vi att när hajen rör sig, det kan
faktiskt få av skärmen och nästan
försvinner ur sikte.
Så vi vill ändra på det, eftersom vi inte vill att
haj att fly.
Och så låt oss sluta vårt skript och sedan redigera haj
skript, kanske lägga till något.
Notera att i detta speciella sprite här, evigt slingan
slutar med en rak kant.
Det har inte någon skåra.
Så i själva verket är vettigt, eftersom det är en evighet slinga.
Det utför något oändligt.
Så det kommer aldrig sluta.
Även om det var något under det, skulle
aldrig få till det.
Så du faktiskt tvungen att införa en tråd.
>> Okej.
Så låt oss lägga till ytterligare skript.
Så jag ska börja med denna ingång om när grön
flagga klickas.
Så vad jag vill göra är att kontrollera fortlöpande om
haj kommer att röra kanten.
Men jag vet att, faktiskt, enligt Motion finns en snygg
liten block som säger, åh, om på kanten, studsa.
Så vad vi vill göra är att ständigt köra.
Och så vad detta "om på kanten, studsa" gör - det faktiskt
redan kontrollerar om jag är på kanten, sedan studsa tillbaka.
Så vi måste hitta någon form av ögla att kontinuerligt
utföra detta uttalande.
Så om vi ser under kontroll, har någon en idé om
vilken slinga vi kanske vill använda?
Ja.
>> STUDENTEN Den evigt slinga.
ZAMYLA CHAN: Exakt, ja.
Den evigt slinga.
Så låt oss reda att här, och sedan säga, om på kanten, studsa.
Och sedan ska vi se.
Okej.
Så fisken rör sig som vanligt.
Och sedan, åh -
nu hajen inte kan fly och studsar på skärmen.
Cool.
Okej.
Så jag letade i.
Jag Värre - ja?
>> Elev: Hur gör man som gäller för hajen när den rör sig
till fisken?
ZAMYLA CHAN: Ah.
Så anledningen endast haj studsar, i motsats till
fisk också, eftersom det skript som vi skrev är inne
haj spriten.
Du förstår, här uppe är haj sprite valt.
Okej.
Så låt oss lägga till något annat.
Jag utforskar de olika kostymer som
Scratch har, och jag såg detta söta lilla haj-Chomp.
Så jag tänkte att, hey, ja, kanske vi kan genomföra
haj chomping, till exempel när vi trycker på utrymme.
Jag ska bara stoppa detta.
Okej.
Ja.
>> STUDENTEN Kan du bara visa - är att under Kostymer?
ZAMYLA CHAN: Åh, ja.
Så jag gick under Kostymer, och sedan jag tittade under Importera.
Och så här, Scratch har en hel rad kostymer som
du kan välja.
Och så då finns det en hel massa djur, och sedan
haj har ett par kostymer i samband med det.
OK.
Så i det här skriptet här, jag kolla redan kontinuerligt
i evigt slingan, OK, ja, om vänsterpilen trycks
då jag vill rotera moturs.
Om högerpilen trycks, jag vill rotera medurs.
Om uppåtpilen trycks då jag
vill gå vidare framåt.
Så vad vi kan göra är att lägga till bara skriptet istället för
lägga en separat, eftersom det redan checkar in
vars tema knappar trycks.
>> Så låt oss lägga till en som säger om mellanslagstangenten - låt oss använda
utrymme för att Chomp ner.
Så dessa åt vänster pil trycks et cetera, dessa är
i den ljusare blå.
Så låt oss gå till Sensing ljusare blå och titta ner.
Åh, och här är en viktig plats ned.
Så vad vi vill göra är att få haj övergången till den
chomping ner kostym.
Det har att göra med hur hajen
ser, så vi går till utseende.
Och här har vi, bekvämt, växla till
kostym haj-Chomp.
Men när vi Chomp ner, vi vill inte haj som
chomping ner för alltid, så låt oss lägga till, OK, ja då
efter det chomps vill vi att växla tillbaka.
OK, så låt oss se vad det gör.
Så vi har det flyttar runt.
OK.
Så vi har det chomping.
Det är chomping typ av snabbt men eftersom i Scratch,
det utför dem omedelbart.
Alltså, låt oss gå att kontrollera och göra det uppskattar sin
Chomp, vänta en sekund.
Och här chomps ner lite längre tid innan det går
tillbaka till sin hunger.
>> OK.
Så jag är ganska nöjd med hajen nu.
Men fisken, vad det verkar göra - det är framåt en
par av steg, i själva verket, fem gånger.
Det rör sig 50 steg.
Och vad det gör här i topp blocket här är jag
sade OK, ja, det kommer att gå till ett visst värde på x.
För att hitta koordinaterna kan du egentligen bara musen över
skärmen, och sedan i botten -
här borta -
Det ska visa dig vad koordinaterna är.
Så du kan dra nytta av detta för att mata in koordinaterna
som du vill.
Och så vad detta uttalande här säger säger, OK,
väl börjar fisken vid detta visst x-värde och sedan
höjden av den kan förändras.
Jag faktiskt kommer att välja en slumpmässig höjd som fortfarande håller
inom ramarna för scenen.
Och så här, vad jag utnyttjar är
sändning händelser.
Så du ser att den här händelsehanteraren är ny fish1.
Så när fisken får nya fish1 händelsen, det ska
utföra detta.
Och då ser man att efter den rör fram sin fastställt belopp
gånger, så sänder faktiskt
igen, OK, ny fish1.
Men istället, vad sägs om vi gör det så att fisken endast
fortsätter till slutet av skärmen innan återställs,
istället för att bara typ att gå till centrum av den.
Så istället för att säga, upprepa fem gånger - eftersom vi inte
verkligen vet hur många gånger kommer att behövas förrän det
når slutet av skärmen, låt oss använda något annat.
>> Så jag ska skilja ut det här, eftersom vi
egentligen inte vill det.
För att ta bort block i Scratch, vad du gör är du bara dra
den till vänster, släpp, och sedan tas bort helt.
Om du bestämmer dig för att du inte vill göra det, så kan du
alltid återställa det.
Men vi vill bli av med denna.
Vad vi vill göra är att vi vill hålla på att flytta 50 steg och
paus en sekund tills vi rör vid slutet av skärmen.
Så kan någon upptäcka en slinga som vi kanske vill använda det
upprepar en process bara tills vi peka på skärmen.
>> STUDENTEN Upprepa tills.
ZAMYLA CHAN: Jag hörde "upprepa tills" och det är korrekt.
Så ja, tar denna upprepa tills blocket också -
men vi ser att detta upprepas tills blocket är inte riktigt
komplett, eller hur?
Så vi måste säga, OK, bra, upprepa tills när?
Så vi säger OK, bra, upprepa tills fisken vidrör
kanten av skärmen.
Och så ska jag tala om för er att det är under avkänning.
Det är denna röra Boolean.
Och så kan du välja här vad du vill att checka
att fisken är rörande.
Så här vill vi säga att vidröra kanten.
Och då vill vi lägga till den här igen
Och så nu, om vi tittar på vår fisk gå när den vidrör
kant, det ska gå tillbaka igen.
Okej.
Så jag är nöjd med det.
Och låt oss öppet HungryShark1.
>> OK, ungefär som ett matlagningsprogram, tillade jag lite
fler funktioner.
Så till exempel, ser du att fisken nu faktiskt
glida ganska smidigt, till skillnad från tidigare, när det var
typ av rörelse och stoppa, flytta och stoppa -
huvudsak bara hoppa set pixlar.
Jag tittade under Motion, tyckte att det här glida uttalande, och jag
sade OK, istället för att bara flytta och stoppa, flytta
och stopp, jag ska glida 70 enheter till höger,
men bo på min samma y-position här.
Okej.
Så vi har en haj som kan Chomp.
Cool.
Men det kallas HungryShark, trots allt, så låt oss ha
haj äter fisken.
>> Så hur kan vi tala om fisken eller berätta hajen att den har
chomped ner?
Hur kan vi kommunicera?
Ja.
STUDENTEN På andra kostym av hajen,
den fångar fisken.
ZAMYLA CHAN: Ja, exakt.
Så vi vet att när vi byter kostym till
Chomp, att vi har Chomp ner.
Nu kommer vi till slut att kontrollera.
Säg att vi vill att fisken ska försvinna när den äts.
Vi måste på något sätt meddela fisk som
Det får dölja, till exempel, eller försvinner från
skärmen när det har chomped ner på.
>> Så vilken typ av koncept, vilken typ av verktyg kan vi använda för att
har haj meddela till fisk, OK,
Jag har chomped ner?
STUDENTEN Broadcasting.
ZAMYLA CHAN: Ja, exakt, sänder en händelse.
Så låt oss gå att kontrollera och låt oss säga sändning.
Och låt oss sända Chomp.
Okej.
Men när vi sänder något, det är med
antagandet att vi faktiskt kommer att ha något
emot det.
Och så det kommer att bli fisken.
Så låt oss säga, när jag får chomp.
Nu när hajen chomp ner bara ett tomt utrymme, gör vi inte
vill fisken att reagera på det alls.
Så låt oss säga, OK, ja, endast om hajen vidrör
fisk vid tidpunkten för Chomp -
det är då vi ska faktiskt göra något.
Så då ska vi använda villkoret om rättighet,
eftersom vi kontrollera om något är sant eller inte.
Så om vi går tillbaka till Sensing, då kan vi
använder här, om beröring.
Och sedan här, vi väljer hajen.
Sedan under utseende, detta dölj block -
som i princip kommer att göra fisken försvinner från scenen.
Vi ska göra det gömmer, men vi vill en annan fisk, eller hur?
Vår haj är hungrig.
Vi vill ge den mer fisk.
Så låt oss också sända en ny fisk igen.
OK.
Så låt oss se vad det gör.
>> Cool.
Så det chomps ned och annan fisk visas.
Men det är lite för snabb för en annan fisk att gå.
Så låt oss bara vänta en sekund innan vi
sända en ny fisk.
Okej.
OK.
Så detta är en ganska bra skapandet av ett spel.
Men alla spel behöver en poäng, eller hur?
Så vad kan vi använda för att hålla poäng?
Ja.
STUDENT: Övrigt -
ZAMYLA CHAN: Ja.
Exakt.
Ja.
Så vi vill hålla reda på i princip hur
många fiskar det äts.
För att göra det, vi måste göra en variabel.
Låt oss kalla den punkten.
Och så förmodligen, eftersom detta är ett spel som vi spelar,
vi kommer att vilja fisken ska kunna -
säga när dess ätit det kan öka poängen eller
något och sedan scenen kommer antagligen behöva göra
något med öm också.
Så jag kommer att välja att göra detta till en global variabel och säga
för alla sprites.
OK.
Så när vi vill öka poängen?
När en fisk har ätit.
Och så har vi redan en process här som är att göra
med fisken äts.
Så låt oss lägga detta uttalande här -
ändra Betyg från 1.
Cool.
Så när du äter en fisk, de poäng ökar.
>> Okej.
Så säger jag är trött på det här spelet.
Jag slutar.
Och sedan, åh, jag vill komma tillbaka till spelet.
Jag vill starta ett nytt spel.
Tja, är poängen fortfarande 3, trots att jag är
spela ett nytt spel.
Vi vill egentligen inte göra mål aldrig att återställa, eller hur?
Så låt oss lägga ett uttalande när spelet startas i
skede för att säga OK, ja, vi vill återställa poäng.
Så här har vi satt variabeln poäng till 0.
Och så nu, när du startar ett spel, resultatet
börjar på 0.
Cool.
OK.
Så nu, låt oss gå vidare till HungryShark2.
>> Så jag har gjort lite mer nu, och vad jag har gjort är
höger klickade på fisken spriten.
Jag ville ha mer fisk, så jag klickade duplikat och det gjorde
en ny sprite identisk med den en och kopierade också i alla
skript också.
Så då denna fish2 är i huvudsak identiskt med
fish1, utom i stället för start till vänster och
går rätt, börjar det till höger och vänster drag.
Och då valde jag också en ny kostym för det.
Sen hittade jag en annan kostym som var en fläckig fisk, och jag
var, kyler, det här ser giftiga, så låt oss låtsas
att detta är en giftig fisk.
Och så sa jag, OK, ja, i stället för att äta
Giftiga fiskar och med din poäng ökar, jag faktiskt
vill att den ska minska.
Så här har vi poäng minskade med 1 när
haj äter det.
Och sedan, jag gillade de kostymer som repar
tillhandahålls, och jag såg och då fann jag shark's -
det såg ut som en sjuk haj.
Och så då jag redigerade det jag gjorde det gröna.
Och jag var som, coolt, det är en sjuk haj.
Okej.
>> Så låt låt oss lägga till vår skript någon form av sätt att göra
haj brytare till att vara sjuk när det
äter en förgiftad fisk.
OK.
Så eftersom vi kopierade alla skript från vår ursprungliga
fisk i giftet fisk, har det redan här spriten här
som säger, när jag chomped ner, jag
faktiskt chomped ner?
Så vi kan dra nytta av detta för att meddela
haj, oh, ja, åt du bara en gift fisk.
Du är sjuk.
Och så detta skulle vara vilken typ av åtgärder?
Vad skulle vara vilja göra?
Sänd.
Ja, exakt.
Så låt oss sändning.
Låt oss kalla det haj sjuk.
OK.
Så nu, hajen, självklart kommer att vara den som är
får denna händelse.
Så låt oss lägga till när jag får hajen är sjuk.
OK.
Så vi vet att vi har denna dräkt -
hajen är sjuk.
Och vi vet från tidigare att vi typ av uppskattar
när vi kan pausa lite innan du växlar tillbaka.
Ja?
>> STUDENT: Hur du kopierar skript från
en sprite till en annan?
ZAMYLA CHAN: Ah.
Så i detta fall när jag bara dupliceras Sprite, till
kopiera ett skript till en annan sprite, vad jag gjorde här var
bara säga två exemplar och det faktiskt gjort en helt ny
sprite med alla skript ingår.
Men säger du bara vill kopiera en viss skript till en annan
sprite, vad du skulle göra är faktiskt bara dra detta,
muspekaren över ett annat skript, och nu här är det dupliceras det.
I detta fall är det redan hade det, så vi bara kan ta bort
det igen.
Men att kopiera en manus till en annan, vad du gör är bara
dra den till de andra sprites.
OK.
>> Så vi är tillbaka på hajen är sjuk.
Så det är emot haj är sjuk, och det säger, OK, ja,
när jag är sjuk, jag kommer att byta till min dräkt som säger
"Haj sjuk", och nu ska vi bara lägga en väntan att
uppskattar det gröna.
Och då kommer vi att vara hungrig igen, så vi kan bara
växla tillbaka till hajen vara hungrig.
Okej.
Så låt oss äta denna lila fisk.
Det är bra.
Bra fråga.
Vad hände med disken?
OK.
Så vi har satt poäng till 0 här, men denna poäng - vad
denna markering inte är det döljer eller unhides variabeln
från skärmen.
Men vad vi kan göra i stället för att avmarkera eller kontrollera det -
Vi kan faktiskt ha detta block här säger "visa eller dölja
variabeln. "Så låt oss se till att varje gång vi startar
spelet att variabeln visas.
>> OK.
Så nu variabeln visas.
Vi äter en gift fisk, och vi blir sjuka.
Cool.
Okej.
Så nu är det udda för ett spel för oss att ha negativ
poäng, eller hur?
Så det håller på att äta dessa och det är som -
så vad sägs om när vi får negativ, om vi har ätit för
många giftiga fisk, vilt över - haj är för sjuk.
Okej.
Så vad vi behöver göra är att vi kommer att behöva
sända en viss händelse -
spelet över.
Så vi kunde göra på flera sätt, faktiskt.
Vi skulle kunna ha någonstans i scenen ett skript som
kontinuerligt kontroller är poängen negativt?
Är poängen negativt?
Om ja, då vi sänder denna händelse.
>> Så det är ett sätt att göra det.
Eller vi kan dra fördel av det faktum att vi vet att
enda sättet att din poäng skulle vara negativt är när du äter en
Giftiga fiskar, eller hur?
För när du äter en annan fisk, din
poäng kommer att öka.
Så det är ingen idé att kontrollera om det ska vara
spelet över eller inte.
Så detta är en liknande process här.
Så vi kan faktiskt bara lägga till denna "när jag får haj
sjuk. "
Så säger vi till detta tillstånd.
Vi vill säga, om summan är mindre än 0.
Så vi kommer att gå till operatörer, vi kommer att använda
detta mindre än en, kommer vi att dra våra
poäng här, säger 0.
Och så, om resultatet är 0, då vi vill sända
något som kallas spelet över.
>> OK.
Så säger vi game over.
Låt oss gå den här eller något.
Tja, vill vi att hajen bara att gå tillbaka till att vara hungrig om
spelet kan fortfarande spelas.
Så istället för att använda en "om" vi använder
ett "om annat" konstruera.
Så vad detta innebär - det säger, OK, så om detta villkor är
sant, då gör det, men om det är falskt så gör det.
Så låt oss lägga om resultatet är mindre än 0, då du
sända spelet över, men om inte - om din
poäng är fortfarande positiv -
sedan gå tillbaka till att vara hungrig.
OK.
Cool.
Så nu när vi har detta spel över händelsen, vi måste ha
något sätt för att svara på det.
>> Så låt oss göra ett nytt script som säger "när jag får spel
över. "Och vad har vi här under kontroll är faktiskt detta
stoppa all knapp, så det i princip härmar dig klicka
den röda stoppskylt här.
Så låt oss ha haj stopp.
Och så vill vi också att fisken att stanna, så låt oss dra och
kopiera in den
Vi vill att alla fisken att stanna.
Och sedan låta oss ha scenen stopp liksom.
Okej.
Så simmar runt, äter vi en fisk, och
sedan programmet fryser.
Jag klickar ner men jag kan faktiskt inte göra någonting.
OK, men låt oss säga att vi inte vill att påminna användaren om att
de har ett negativt värde, till exempel, då kan vi, för
exempel dölja variabel från skärmen.
Så när scenen får spelet över, så kommer det att gömma
variabeln poäng.
OK.
Så låt oss äta en mer fisk.
Och sedan poängen försvinner, och du bara har den här skärmen.
>> Okej.
Så det är en ganska anständig spel, och om du hade mer
tid, då kan du så småningom lägga
fler och fler skript.
Och så då lade jag ett par mer fisk, gjorde dem framåt
vid olika hastigheter och sedan när hajen äter
Giftiga fiskar, säger det faktiskt, "Blech!"
Och vad jag är jag lagt till en ny bakgrund till
stadium - ett spel över bakgrunden.
Och så vad scenen gör under spelets över händelsen
hantering är den växlar till bakgrunden av spelet över
bakgrund.
Och liksom, gömde jag alla sprites från scenen så att
bara spelet över bakgrunden visades.
Det finns ett par andra små tillägg som jag lagt,
till exempel innan när vi slutade vårt program, då vår
haj, nästa gång vi började, skulle starta i
den positionen också.
Vad jag lagt är när den gröna flaggan är tryckt, så
hajen går tillbaka till ursprunget och vänt mot
rätt, så att varje gång, har du en
haj börjar där.
>> Så du kan experimentera i rörelse och saker som att
bara för att lägga lite finputsning som gör din
spelet lite mer polerat.
Har någon några frågor om HungryShark?
Cool.
Okej.
Så det är ett exempel på något som du kan göra
i grunden med alla de verktyg som vi diskuterade tidigare.
Så jag ingår också i genomgång bilderna.
Du ser dem senare.
Det är bara en översikt över de processer som vi gjorde -
framåt från HungryShark0 hela vägen till vår slutliga.
En
Ja.
Men det är om det.
Jag ska stanna kvar om ni vill
ställa fler frågor.
Detta var Genomgång 0.
Tack alla för att ni kom, och jag får se dig på Walkthrough 1.