[Powered by Google Translate] ZAMYLA CHAN: Okay.
Hej, alle sammen, og velkommen til Walkthrough 0.
Mit navn er Zamyla, og jeg vil være førende disse
walkthroughs dette år.
I CS50 er ethvert problem sæt ledsaget af en walkthrough
hvorved vi vil gå gennem ugen problem sæt, taler det
igennem, snak, hvordan du kommer i gang, diskutere forskellige
teknikker og tips til virkelig at bryde det problem sat ind
nogle overskuelige bid.
Jeg er også virkelig glad for at besvare eventuelle spørgsmål, som du
har på problemet sæt.
Uden videre, jeg er glad for du er her, uanset om du er
her personligt eller tuning i online.
Lad os komme i gang.
>> Så den første p-sæt i CS50 -
faktisk, vi ikke gå ind i at skrive og maskine
kode stuff helt endnu.
Vi faktisk skal bruge Scratch, hvilket er en
program, der giver os mulighed for at gøre nogle træk og slip
programmering.
Og så selvom vi ikke skriver, det virkelig giver os mulighed for
udforske nogle af de grundlæggende begreber,
bruger vi alle i hele CS50.
Nu nogle af disse begreber er
listet her i værktøjskassen.
Hvad jeg gerne vil gøre for hver gennemgang er præsentere jer alle
med et sæt af værktøjer, som du kan bruge til walkthrough.
Og så, så fortvivl ikke.
Vi vil gå over alle disse vilkår og alle disse
teorier under walkthrough.
Nu, uanset om du ender med at bruge alle disse redskaber, eller bare
nogle af dem, det er virkelig godt at vide, hvad du udstyret
med at være i stand til at løse problemet sæt.
>> Så i Scratch, er det første lingo, som du har brug for at vide, hvad
en sprite er.
Så hver genstand eller hvert tegn, det være sig en kat en hund
eller en kugle, kaldes en sprite.
Og så, hvis jeg vil, siger, to katte - uanset om de er
identiske -
Jeg bliver nødt til at lave to separate sprites i Scratch.
Og så sprites har scripts, der er forbundet med dem.
Scripts er faktisk, hvad du vil være bygning -
trække og slippe - med dine klodser.
Og hvad så scripts gør er lidt bestemme og definere, hvordan
Sprite opfører sig.
Sprites er faktisk ikke bare billeder, fordi vi har
kostumer også forbundet med de sprites den slags
bestemme, hvad sprite ser ud.
Og du kan have mere end én kostume for en given sprite.
>> Så på et tidspunkt i løbet af din Scratch program, som vi vil vise
senere i dag under walkthrough, kan du faktisk
ændre kostume på din sprite at gøre det ser enten
lidt anden eller helt anderledes.
Og så er der tre måder at oprette en sprite i Scratch.
One, kan du tegne dine egne i Scratch s
bygget i maling editor.
Du kan uploade dit eget billede, skal du bruge en af ​​Scratch har indbyggede
dem, eller den sidste mulighed, få en tilfældig sprite.
Nu, hvis du føler dig særligt heldig, så jeg
byder dig velkommen til at prøve lykken og skabe en tilfældig sprite.
>> Så alle de sprites er placeret på
scenen i Scratch.
Scenen - vi kan behandle det som vores lærred.
Og så alle de sprites er placeret på scenen.
Og denne fase, er hvad det gør tillader alle sprites
at bevæge sig rundt på det.
Og ligesom sprites, scenen har også scripts.
Og så disse scripts, at placere dem på scenen -
det er virkelig nyttigt, når, siger, du har et script, der ikke
præcis vedrører en bestemt sprite, men snarere
vedrører flere sprites eller bare i almindelighed, noget
at du ønsker at gøre.
Så du kan placere disse scripts på scenen i stedet, og at
ville være en smule bedre design.
Nu, mens du kan have flere sprites, det er godt at
huske på, at du kun kan have én etape.
Men faser har også baggrunde.
I modsætning til kostumer, ligesom sprites gør, faser har
baggrunde.
Og igen, kan du enten tegne dit eget eller upload dit eget
billede til brug som baggrund.
>> Så er der nogen har nogen spørgsmål, før vi går videre?
OK.
Du er velkommen til at afbryde mig, hvad i løbet af walkthrough, og
Jeg er glad for at besvare eventuelle spørgsmål, du har.
OK.
Så når du starter din sprite program, hvad du vil
gøre, er du kommer til at klikke på det grønne flag.
Men hvis du ikke tilslutter noget til denne blok til højre
her, så intet er faktisk kommer til at ske.
Fordi, ser du, hvad de scripts og scenen er nødt til at
gøre, er faktisk kender til at reagere på begivenheden -
det er, hvad vi kalder dem, events - af det grønne flag
bliver klikket på.
Så du er nødt til rent faktisk at vedhæfte blokke til rillen på
bunden af ​​denne grønne flag klikket blok, og derefter
Programmet vil vide, hvad de skal gøre og hvordan man reagerer på det
grønt flag bliver klikket på.
>> Nå, hvad der kommer efter det?
Nuvel, vi har et væld af blokke i Scratch at bruge, og
når kødet, virkelig, af dit program ligger i disse
udsagn.
Og så disse udsagn er bekvemt
arrangeret af farve.
Du har aktioner vedrørende bevægelse,
lyd, udseende, et cetera.
Og så du kan se, kan du navigere mellem dem i
faner i din Scratch program.
Og så, mens du har andre ting bygget op omkring det,
hvad de erklæringer faktisk gør faktisk fortæller
sprites eller stadium at gøre noget.
I modsætning til bare at sige, OK, når du gør dette,
udsagn faktisk indeholder den virkelige kød af det.
Lad os sige at du vil kun udføre en bestemt handling, siger
du kun ønsker katten til meow når en bestemt ting sker.
Vi kan drage fordel af Booleans, som du har lært i
foredrag en.
Og så disse er udtryk, der evalueres til
enten sand eller falsk.
Og så disse er identificeret i Scratch ved -
du se vinkler i slutningen af ​​disse blokke.
Og så har du en bred vifte af forskellige typer af Booleans.
Du har "er det mest presses ned," "gør 2 plus 2
svare til 5, "eller" at brugeren trykker ned en vis tast på
tastaturet? "
>> Nu kan du ikke bare bruge disse alene.
Hvad du skal gøre er at kombinere dem med en betingelse.
Så betingelsen er der under kontrol fanen i Scratch.
Og så de bekvemt har en lille pladsholder,
viser formen af ​​den blok, som du har brug for at sætte ind i det.
Så afhængig af konteksten af ​​situationen, kan du vælge
en boolesk og derefter placere den inde i din tilstand.
Og der har du en betinget erklæring.
Hvis du lægger udsagn inde denne blok, så har du en
struktur oprettet, hvorved engang en bestemt betingelse er opfyldt på
venstre, du derefter udføre redegørelsen.
Ja?
>> STUDENT: Hvis en variabel er et nummer, kan du
bruge variablen inde i Boolean, ligesom det grønne,
for eksempel?
ZAMYLA CHAN: Ja, du kan.
Du kan trække og slippe den variable værdi inde i
cirkulær form der.
>> Nu en af ​​fordelene ved computere er det store strøm
og hastigheden, hvormed de kan udføre gentagne processer.
Og så, i stedet for, siger, at gentage en instruktion i
og igen og igen og faktisk skrive det ud - eller
i dette tilfælde, i Scratch trække og slippe og
træk og slip -
hvad vi kan gøre, er at indkapsle det i en løkke.
Og så kan løkker bruges til enten udføre tingene
uendeligt med et evigt loop, eller til en
indstille antal gange -
sige, Gentag "Sig hej" 10 gange eller indtil en vis
betingelse er sand.
Og så igen, du kan se, at bunden er at antyde, at når
du har en tilstand som "gentag indtil" så er den eneste
ting, der vil passe ind der er en boolesk værdi.
Ok.
>> Så nu ved vi, at vi kan indkapsle gentagne
processer inde i sløjfer.
Du kan se, hvorfor noget som dette måske ikke være ideel.
Det passer ikke på diaset.
Væsentlige, det bare gør det samme igen og igen
10 gange, i virkeligheden.
Den bevæger sig 10 trin, siger hej, flytter 10 trin, siger hej.
Så nu kan du se, at når vi har loops, noget lignende
dette er en meget bedre.
Det er kortere, det er mindre, og det faktisk fuldfører
samme ting.
Nu, i Scratch dette måske ikke gøre meget af en forskel, men
det faktisk sparer du tid.
>> Så på den variable udtryk -
du rent faktisk kan bruge variabler og sætte dem inde i
betingelser.
Som udtrykt lige der, du se, vi har en navngiven variabel
"Tæller", og vi sidestille det at se, om
det er mindre end 0.
Så variabler er i det væsentlige, vil jeg sige,
beholdere til værdier.
I Scratch, kan disse typer af værdier enten være ord eller
de kan være tal.
Og så, med disse variabler, er, hvad vi kan gøre med dem, vi
kan sætte deres værdi.
Så i det første eksempel her har vi et eksempel på tekst
indeholder værdien "Hello, World!" I det andet eksempel,
det er antaget, at vi allerede har en navngiven variabel
"Tæller", og i så fald, vi ændrer det ved 3.
Vi inkrementering det med 3.
Og så i det sidste eksempel, kan de variable trækkes
at blive sat i en boolsk udtryk.
>> Nu, når du opretter en variabel, hvad du har at
beslutte, om du gør variabel for alle de
sprites i din Scratch program, eller for bare
specifikke sprite, hvor du har valgt, når du foretager
variablen.
Og så dette er en meget vigtig beslutning at træffe.
Og det virkelig kommer ned til, hvad rækkevidden du ønsker
variabel have.
Så for eksempel, ville et eksempel på lokal rækkevidde være, hvis du
vælger bare for denne sprite at have variablen.
Så ville betyde, at kun det sprite kunne
adgang til den pågældende variabel.
Kun at sprite ville være i stand til at se det,
ændre det, ændre det.
Hvis du vælger at have en global rækkevidde -
så det er hvis du siger til alle sprites, hvis
du vælger denne mulighed -
så det betyder, at scenen såvel som alle de sprites
vil være i stand til at se, ændre og få adgang til denne variabel, der
du har oprettet.
Eventuelle spørgsmål så langt på variabler eller noget?
Ja.
>> STUDENT: For de variabler, kan du have to variabler af
samme navn, hvis de er på forskellige sprites?
ZAMYLA CHAN: Så længe de er lokale sprites ---
ah, ja, undskyld.
Så var spørgsmålet, om man kan have to variabler af
det samme navn i et program, og hvis du har to variabler med
det samme navn, men er både lokale sprites, så sprite én,
katten har et variabelnavn "tæller", og sprite to,
hund, har en variabel med navnet "tæller", så længe de
er både lokale sprites, så deres anvendelsesområde omfatter ikke
resten af ​​programmet.
Og så ingen af ​​de andre sprites eller
stadium vil blive forvirret.
Ok.
>> Så jeg nævnte før indgangspunktet, da vi havde
når grønne flag klikket blok.
Og så, hvad det er -
den siger, OK, når begivenheden sker, at grønne flag er
klikket, dette er hvad du skal gøre.
Og så der er faktisk ikke den eneste begivenhed
som vi har i Scratch.
Vi har også andre begivenheder.
Vi har for eksempel når en tast på
tastaturet er trykket ned.
Og du kan faktisk vælge bogstaverne A til Z, 0
til 9, eller piletasterne.
Og så har vi også andre begivenheder, som når dit
sprite bliver klikket.
Og så når du starter med det, du bemærker det hovedtendensen
er, at de kun har en rille i bunden, og så
derefter, igen, nøgler dig i at intet lægger oven
denne blok.
Du bygger fra og nedenfor.
>> Nu, siger, hvad der sker, hvis vi ønsker nogle begivenhed til at ske lige
når jeg ikke kender, en kat rører en vis del af
scenen eller sådan noget?
Vi har faktisk ikke har nogen indbygget i
Hvis at angive, at.
Så hvad vi nødt til at gøre er faktisk at skabe vores eget arrangement.
Og det hedder udsendelser.
Så når du ønsker at signalere, at en bestemt er sket,
så du bruge - i kontrolgruppen fanen, er der en kaldet blok
"Udsendes." Og så derefter, vil du indtaste navnet på den
Hvis du ønsker at sende, og derefter alt efter hvilken
sprite eller sprites -
du kan have flere sprites reagerer på denne besked -
eller scenen bliver nødt til at håndtere det, bliver nødt til at
modtage det, bliver nødt til at sige, OK, jeg forstår, at dette har
sket, så jeg har tænkt mig at gøre dette med det.
Og så når du transmittere en begivenhed, der er med
idet enten at sprite eller en anden sprite er
nødt til at modtage denne begivenhed og reagere.
>> Nu er den sidste begreb, før vi kommer ind i et egentligt eksempel
et Scratch program er tråde.
So tråde er, når din computer er fuldbyrdende
samtidige processer på samme tid.
Jeg garanterer dig, at vi alle har draget fordel af
tråde, når vi vi ser en film på samme tid som
skrive et essay eller noget lignende.
Computeren udfører flere ting på samme
tid, ligesom Scratch kan.
Så som du kan se i dette eksempel, er disse to scripts kan
anvendes til nøjagtig den samme Sprite, fordi disse
begyndende Entrypunkt blokke kan faktisk bruges
multipla af gange.
Jeg garanterer dig, at sandsynligvis det grønne flag klikket blok
bliver et af de mest populære
blokke i dit program.
Så her kan vi se, at når det grønne flag er klikket, er der
en proces i gang, samt når det grønne flag er
klikket, der er en separat proces foregår.
Og så Scratch kører disse to på samme tid.
Og så bruger disse tråde, at du kan faktisk
have mere end én indgang -
selvom det er den samme indgang -
det kommer til at blive virkelig nyttigt, hvis du ønsker at sige,
adskille forskellige opgaver fra hinanden.
Ok.
Så lad os faktisk se på et eksempel på en Scratch program.
>> OK.
Så jeg har allerede lavet et lille program til os her.
Så jeg bare klikke på det grønne flag til at starte og se
hvad den gør.
Så vi har en orange fisk her -
en fisk sprite -
ser ud til at bevæge sig og derefter nulstille og gå tilbage.
Og så har vi en haj sprite.
Og denne haj sprite kan bevæge sig, kan det rotere, kan det
svømme rundt.
OK.
Så det er lidt sjovt.
Men vi kan helt sikkert tilføje mere til det.
For eksempel ser vi, at når hajen bevæger sig, kan det
rent faktisk får ud af skærmen og næsten
forsvinde ud af syne.
Så vi ønsker at ændre det, fordi vi ikke ønsker, at
haj at undslippe.
Og så lad os stoppe vores script og derefter redigere haj
scripts, måske tilføje noget.
Bemærk, at i dette særlige sprite her, altid løkken
ender med en lige kant.
Det ikke har nogen rille.
Så i virkeligheden dette giver mening, fordi det er en evig løkke.
Det er fuldbyrdende noget uendeligt.
Så det vil ikke nogensinde ende.
Selv om der var noget under det, ville
aldrig komme til det.
Så du er faktisk tvunget til at indføre en tråd.
>> Ok.
Så lad os tilføje et andet script.
Så jeg har tænkt mig at starte med denne indgang, hvornår grøn
flag der klikkes.
Så hvad jeg vil gøre, er løbende kontrollere om
shark vil blive berøre kanten.
Men jeg ved, at der faktisk under Motion er der en pæn
lille blok, der siger, åh, hvis på kanten, bounce.
Så hvad vi ønsker at gøre, er løbende udføre.
Og så hvad dette "hvis på kanten, bounce" gør - det faktisk
allerede kontrollerer, hvis jeg er på kanten, og derefter hoppe tilbage.
Så vi er nødt til at finde en form for løkke til løbende
udføre denne erklæring.
Så hvis vi ser under kontrol, nogen der har en idé om
hvilken løkke vi måske ønsker at bruge?
Yeah.
>> STUDENT: Den evigt loop.
ZAMYLA CHAN: Præcis, ja.
Den evigt loop.
Så lad os spore denne her, og derefter sige, hvis på kanten, hoppe.
Og så lad os se.
Ok.
Så fisken bevæger sig som sædvanlig.
Og så, oh -
nu haj kan ikke undslippe, og hopper ud af skærmen.
Cool.
Ok.
Så jeg var på udkig i.
Jeg kan-ikke - ja?
>> STUDENT: Hvordan gør du det gælder for haj som den bevæger sig
til fisk?
ZAMYLA CHAN: Ah.
Så grunden kun hajen bounces, i modsætning til
fisk så godt, er fordi dette script, som vi skrev er inde
haj sprite.
Du ser, op her, er hajen sprite valgt.
Ok.
Så lad os tilføje noget andet.
Jeg var på opdagelse på de forskellige kostumer,
Scratch har, og jeg så denne søde lille haj-chomp.
Så jeg tænkte, at, hey, ja, måske vi kan gennemføre
haj chomping, for eksempel når man trykke på mellemrumstasten.
Jeg skal bare at stoppe dette.
Ok.
Ja.
>> STUDENT: Kunne du bare vise - er, at under Kostumer?
ZAMYLA CHAN: Åh, ja.
Så jeg gik under Kostumer, og så jeg kiggede under Import.
Og så her, Scratch har en hel vifte af kostumer, at
du kan vælge.
Og så så er der en hel masse af dyr, og derefter
haj har et par kostumer forbundet med det.
OK.
Så i dette script her, jeg allerede tjekker kontinuerligt
i evigt loop, OK, godt, hvis den venstre pil der trykkes,
så jeg vil rotere mod uret.
Hvis højre pil der trykkes, jeg ønsker at rotere med uret.
Hvis pil op trykkes ned, så jeg
ønsker at komme fremad.
Så hvad vi kan gøre er bare tilføje til dette script, i stedet for
tilføje en separat, da dette allerede er tjekker
hvis tema taster bliver trykket ned.
>> Så lad os tilføje en, der siger, at hvis mellemrums-tasten - lad os bruge den
mellemrums-tasten til chomp ned.
Så disse nøgle venstre pil nede, et cetera, disse er
i lysere blå.
Så lad os gå til Sensing lysere blå, og kigge ned.
Åh, og her er et centralt presset plads.
Så hvad vi ønsker at gøre, er at have den haj kontakten til
chomping ned kostume.
Det har at gøre med, hvordan haj
ser, så vi gå til udseende.
Og her har vi, bekvemt, skifte til
kostume haj-chomp.
Men når vi chomp ned, ønsker vi ikke at haj til at være
chomping ned for evigt, så lad os tilføje, OK, jamen så,
efter det chomps, vi ønsker, at skifte tilbage.
OK, så lad os se, hvad det gør.
Så vi har det bevæger sig rundt.
OK.
Så vi har det chomping.
Det er chomping slags hurtigt selv, fordi i Scratch,
det er fuldbyrdende dem øjeblikkeligt.
Så, lad os gå til Control og gøre det værdsætter sin
chomp, vent et sekund.
Og her er det chomps ned lidt længere tid, før den går
tilbage til sin sult.
>> OK.
Så jeg er temmelig tilfreds med hajen nu.
Men fisken, hvad det synes at gøre - det er fremad en
par trin, nemlig fem gange.
Det bevćger 50 trin.
Og så hvad det laver her i denne top blok her er jeg
siger, OK, godt, det kommer til at gå til en bestemt værdi af x.
For at finde koordinaterne, kan du faktisk bare musen over
skærmen, og derefter i bunden -
lige herovre -
det vil vise dig, hvad de koordinater.
Så du kan drage fordel af, at for at indtaste koordinaterne
som du ønsker.
Og hvad så denne redegørelse her siger siger, OK,
godt, fiskene starter ved denne bestemte x-værdi og derefter
højde af den kan ændre sig.
Jeg er faktisk kommer til at vælge en tilfældig højde, der stadig forbliver
inden for de begrænsninger af etapen.
Og så her, hvad jeg drage fordel af, er
udsende hændelser.
Så du se, at denne hændelseshandler er ny fish1.
Så når fisken får den nye fish1 begivenhed, det vil
udføre dette.
Og så skal du se, at efter den bevæger sig fremad den indstillede værdi
af gange, det så faktisk udsender
igen, OK, ny fish1.
Men i stedet, hvad lad os gøre det, således at fisken kun
fortsætter til slutningen af ​​skærmen, før den nulstilles,
i stedet for bare lidt at gå til centrum af det.
Så i stedet for at sige, gentages fem gange - fordi vi ikke gøre
virkelig vide, hvor mange gange skal tages, indtil det
når enden af ​​skærmen, så lad os bruge noget andet.
>> Så jeg har tænkt mig at skille det ud, fordi vi
ikke virkelig ønsker dette.
Hvis du vil slette blokke i Scratch, hvad du skal gøre er du bare trække
den til venstre, release, og så det bliver slettet.
Hvis du beslutter, at du ikke ønsker at gøre det, så du kan
altid fortryde sletningen.
Men vi ønsker at slippe af med denne.
Hvad vi ønsker at gøre, er at vi ønsker at holde på at flytte 50 trin og
pause et sekund, indtil vi rører enden af ​​skærmen.
Så kan nogen få øje på en løkke, som vi måske ønsker at bruge det
gentager en proces lige indtil vi røre ved skærmen.
>> STUDENT: Gentag indtil.
ZAMYLA CHAN: Jeg hørte "gentag indtil", og det er korrekt.
Så ja, denne gentagelse indtil blokken også tager en -
men vi ser, at denne gentagelse indtil blok er ikke helt
komplet, right?
Så vi er nødt til at sige, OK, godt, gentag indtil da?
Så vi siger, OK, godt, gentag indtil fisken rører
kanten af ​​skærmen.
Og så skal jeg fortælle dig, at det er under Sensing.
Der er denne rørende Boolesk.
Og så du kan vælge her, hvad du ønsker at være kontrol
at fisken er rørende.
Så her, vi ønsker at sige røre kanten.
Og så ønsker vi at tilføje denne igen
Og så nu, hvis vi ser vores fisk gå, når det rører
kant, vil det flytte tilbage igen.
Ok.
Så jeg er tilfreds med det.
Og lad os åbne HungryShark1.
>> OK, lidt ligesom en madlavning show, tilføjede jeg en lille smule
flere funktioner.
Så for eksempel, kan du se, at fisken nu er faktisk
glider ganske glat, i modsætning til før, hvor det var
slags bevæger sig og stopper, bevæger sig og stopper -
det væsentlige lige hoppe sæt pixels.
Jeg kiggede under Motion, fandt denne glide erklæring, og jeg
sagde OK, i stedet for blot at flytte og stop, flytning
og stop, jeg har tænkt mig at glide 70 enheder til højre,
men bo på min samme y position her.
Ok.
Så vi har en haj, der kan chomp.
Cool.
Men det kaldes HungryShark, trods alt, så lad os få det
haj spiser fiskene.
>> Så hvordan kan vi fortælle fisk eller fortælle haj, at det har
chomped ned?
Hvordan kan vi kommunikere?
Ja.
STUDENT: På den anden kostume af haj,
den fanger fisk.
ZAMYLA CHAN: Ja, præcis.
Så vi ved, at når vi skifter kostume til
chomp, at vi har chomp ned.
Nu vil vi i sidste ende nødt til at tjekke.
Sige, at vi ønsker, at fiskene til at forsvinde når dens spist.
Vi bliver nødt til at en eller anden måde kommunikere til de fisk,
Det bliver nødt til at skjule, for eksempel, eller forsvinde fra
skærmen når den er blevet chomped ned på.
>> Så hvad slags koncept, hvilken slags værktøj kan vi bruge til
har den haj kommunikere til fisk, OK,
Jeg har chomped ned?
Studerende: Broadcasting.
ZAMYLA CHAN: Ja, præcis, udsender en begivenhed.
Så lad os gå til Control og lad os sige udsendelse.
Og lad os sende chomp.
Ok.
Men når vi sender noget, det er med
antagelse, at vi faktisk kommer til at have noget
modtage den.
Og så der kommer til at være fisk.
Så lad os sige, når jeg modtager chomp.
Nu, da hajen chomp ned bare et tomt rum, vi ikke
ønsker, fisken til at reagere på det overhovedet.
Så lad os sige, OK, godt, kun hvis hajen rører
fisk på tidspunktet for chomp -
det er når vi rent faktisk gør noget.
Altsaa, vi kommer til at bruge den betingelse, hvis højre,
fordi vi kontrollere, om noget er sandt eller ej.
Så hvis vi går tilbage til Sansning, så vi kan
bruge her, hvis rørende.
Og så her, vil vi vælge hajen.
Så under Looks, denne hide blok -
der vil dybest set gøre fiskene forsvinder fra scenen.
Vi vil gøre det gemme sig, men vi ønsker en anden fisk, right?
Vores haj er sulten.
Vi ønsker at give det mere fisk.
Så lad os også udsende en ny fisk igen.
OK.
Så lad os se, hvad det gør.
>> Cool.
Så det chomps ned og en anden fisk vises.
Men det er en lidt for hurtig for en anden fisk til at gå.
Så lad os bare vente et sekund, før vi
udsende en ny fisk.
Ok.
OK.
Så dette er en temmelig god fremstilling af et spil.
Men alle spil har brug for en score, right?
Så hvad kunne vi bruge til at holde score?
Ja.
STUDENT: Andet -
ZAMYLA CHAN: Yeah.
Præcis.
Yeah.
Så vi ønsker at holde styr på dybest set, hvordan
mange fisk det er spist.
For at gøre det, vil vi nødt til at lave en variabel.
Lad os kalde at score.
Og så formentlig, da dette er et spil, vi spiller,
vi kommer til at have fiskene skal kunne -
sige, når dens spist det kan øge score eller
noget, og derefter scenen vil sandsynligvis nødt til at gøre
noget med den ømme så godt.
Så jeg har tænkt mig at vælge at gøre dette til en global variabel og sige
for alle sprites.
OK.
Så når vi ønsker at øge score?
Når en fisk er blevet spist.
Og så har vi allerede en proces her, der er beskæftiger sig
med fisk blive spist.
Så lad os tilføje denne erklæring her -
ændre Resultat af 1.
Cool.
Så når du spiser en fisk, de score stiger.
>> Ok.
Så siger jeg er træt af dette spil.
Jeg stoppe.
Og så, åh, jeg vil vende tilbage til spillet.
Jeg ønsker at starte et nyt spil.
Nå, scoren er stadig 3, selvom jeg er
spille et nyt spil.
Vi har ikke rigtig lyst til at score aldrig at nulstille, right?
Så lad os tilføje en erklæring, når spillet er i gang i
fase at sige, OK, godt, vi ønsker at nulstille score.
Så her har vi sat den variable score til 0.
Og så nu, når du starter et spil, score
vil starte ved 0.
Cool.
OK.
Så nu, lad os gå videre til HungryShark2.
>> Så jeg har gjort en lille smule mere nu, og hvad jeg har gjort, er
højre klikket på fisk sprite.
Jeg ønskede mere fisk, og så jeg klikkede to eksemplarer og det gjorde
en ny sprite samme som i en og også kopieret i alle
scripts samt.
Så da denne fish2 det væsentlige er identisk med
fish1, undtagen i stedet for starter ved den venstre og
bevæger sig rigtigt, det starter ved højre og venstre bevægelser.
Og så jeg valgte også en ny kostume til det.
Så jeg fandt en anden kostume, der var en plettet fisk, og jeg
var ligesom, cool, det ser giftig, så lad os lade som om
at dette er et giftige fisk.
Og så sagde jeg, OK, godt, i stedet for at spise den
giftige fisk og have din score stiger, jeg faktisk
vil have det til at falde.
Så her har vi score faldt med 1, naar
haj spiser det.
Og så, jeg virkelig gerne kostumer, ridse
forudsat, og jeg kiggede og så fandt jeg de shark's -
det lignede en syg haj.
Og så så jeg redigerede det jeg gjorde det grønt.
Og jeg var ligesom, cool, det er en syg haj.
Ok.
>> Så lad lad os føje til vores script en slags måde at gøre det
haj skifte til at være syg, når det
spiser en forgiftet fisk.
OK.
Så fordi vi kopierede alle scripts fra vores oprindelige
fisk ind i gift fisk, det allerede har denne sprite her
der siger, når jeg chomped ned, er jeg
faktisk chomped ned?
Så vi kan drage fordel af dette at meddele
haj, åh, ja, du har lige spist en gift fisk.
Du er syg.
Og så dette ville være, hvad slags handling?
Hvad ville være ønsker at gøre?
Broadcast.
Ja, præcis.
Så lad os udsendelse.
Lad os kalde det haj syg.
OK.
Så nu, hajen, naturligvis, vil være den, der er
modtager denne begivenhed.
Så lad os tilføje, når jeg modtager hajen bliver syge.
OK.
Så vi ved, at vi har dette kostume -
hajen er syg.
Og så kender vi fra før, at vi slags værdsætter
når vi kan stoppe en lille smule, før du skifter tilbage.
Ja?
>> STUDENT: Hvordan du kopierer script fra
en sprite til en anden?
ZAMYLA CHAN: Ah.
Så i dette tilfælde, da jeg bare kopieret den sprite, at
kopiere et script til en anden sprite, hvad jeg gjorde her var
blot sige to eksemplarer, og det faktisk gjort en hel ny
sprite med alle de scripts inkluderet.
Men siger du bare lyst til at kopiere en bestemt script til en anden
sprite, så hvad du ville gøre er faktisk bare trække dette,
svæve over et andet script, og nu her det duplikerede det.
I dette tilfælde, allerede havde det, så vi kan bare slette
det igen.
Men at kopiere et script til en anden, hvad du skal gøre er bare
trække det til de andre sprites.
OK.
>> Så vi er tilbage på hajen bliver syge.
Så det har modtaget haj er syg, og det siger, OK, godt,
når jeg er syg, vil jeg skifte til min dragt, der siger
"Haj syg," og nu, lad os bare tilføje en ventetid på
værdsætte det grønne.
Og så vil vi være sulten igen, så vi kan bare
skifte tilbage til haj bliver sultne.
Ok.
Så lad os spise denne lilla fisk.
Det er fint.
Godt spørgsmål.
Hvad er der sket til skranken?
OK.
Så vi har sat score til 0 her, men dette score - hvad
denne markering gør, er det skjuler eller unhides den variable
fra skærmen.
Men hvad vi kan gøre i stedet for at fjerne markeringen eller kontrollere det -
Vi kan faktisk have denne blok her siger "vise eller skjule
variablen. "Så lad os sørge for, at hver gang vi starter
spillet, at den variable er vist.
>> OK.
Så nu variablen vises.
Vi spiser en gift fisk, og vi bliver syge.
Cool.
Ok.
Så nu, det er underligt for et spil for os at have negativ
point, right?
Så det holder på at spise disse, og det er ligesom -
så hvad med når vi får negativ, hvis vi har spist for
mange giftige fisk, vildt over - haj er for syg.
Ok.
Så hvad vi bliver nødt til at gøre, er vi nødt til at
transmittere en begivenhed -
game over.
Så vi kunne gøre det på flere måder, faktisk.
Vi kunne have et sted i den fase, et script, der
kontinuerligt checks er den score negative?
Er score negative?
Hvis ja, vi derefter sender denne begivenhed.
>> Så det er en måde at gøre det på.
Eller vi kunne drage fordel af det faktum, at vi ved, at
eneste måde, at din score kan være negativ er, når du spiser en
giftige fisk, right?
Fordi når du spiser en anden fisk, din
score vil stige.
Så der er ikke brug for at kontrollere, om det skal være
game over eller ej.
Så dette er en lignende proces her.
Så vi kan faktisk bare tilføje til denne "når jeg modtager haj
syg. "
Så siger vi tilføje denne betingelse.
Vi ønsker at sige, hvis score er mindre end 0.
Så vi vil gå til Rederier, vi kommer til at bruge
denne mindre end én, vil vi trække vores
score her, siger 0.
Og så, hvis score er 0, så vi ønsker at udsende
noget, der hedder game over.
>> OK.
Så siger vi har game over.
Lad os flytte det her eller noget.
Tja, vi ønsker hajen kun at gå tilbage til at være sulten, hvis
spillet stadig kan afspilles.
Så i stedet for at bruge et "hvis", vi bruger
et "hvis ellers" konstruere.
Så hvad dette betyder - det siger, OK, så hvis denne betingelse er
sandt, så gør det, men hvis det er falsk og derefter gøre dette.
Så lad os tilføje, hvis score er mindre end 0, så du
udsende game over, men hvis ikke - hvis din
score er stadig positiv -
derefter gå tilbage til at være sulten.
OK.
Cool.
Så nu, at vi har dette spil over begivenhed, vil vi nødt til at have
en måde at reagere på den.
>> Så lad os lave et nyt script, der siger "når jeg modtager spil
over. "Og hvad vi har her under kontrol, er faktisk denne
stoppe al knap, og så er det dybest set efterligner dig at klikke
det røde stopskilt her.
Så lad os få den haj stop.
Og så ønsker vi også fiskene til at stoppe, så lad os trække og
kopiere det ind
Vi ønsker, at alle fisk at stoppe.
Og så lad os få scenen stopper så godt.
Ok.
Så svømme rundt, vi spiser en fisk, og
derefter programmet fryser.
Jeg klikker ned men jeg kan faktisk ikke gøre noget.
OK, men lad os sige at vi ikke ønsker at minde brugeren om, at
de har fået en negativ værdi, for eksempel, så vi kan, for
Eksempelvis skjule variablen fra skærmen.
Så når scenen modtager game over, så det vil skjule
den variable score.
OK.
Så lad os spise en mere fisk.
Og så score forsvinder, og du bare har denne skærm.
>> Ok.
Så det er en temmelig anstændigt spil, og hvis du havde mere
tid, så du i sidste ende kan tilføje
flere og flere scripts.
Og så så jeg tilføjede et par mere fisk, fik dem til at udvikle sig
ved forskellige hastigheder, og derefter når hajen spiser en
giftige fisk, det rent faktisk siger, "Blech!"
Og hvad så jeg er jeg tilføjet en ny baggrund for
stadium - et spil over baggrunden.
Og så hvad scenen gør i løbet af spillet over begivenheden
håndtering er det skifter til baggrunden for game over
baggrund.
Og så godt, jeg gemte alle sprites fra scenen, så
kun spillet over baggrunden blev vist.
Der er et par andre små tilføjelser, som jeg har tilføjet,
vi for eksempel før, når endte vores program, så er vores
haj, næste gang vi startede, ville starte op i
denne holdning.
Hvad jeg tilføjede er, når det grønne flag er klikket, så
hajen går tilbage til oprindelsen, og derefter vender mod
ret, således at hver gang, du har en
haj starte.
>> Så du kan eksperimentere i Motion og ting som, at
blot at tilføje lidt finpudsning, der gør din
spil en smule mere poleret.
Er der nogen der har nogen spørgsmål om HungryShark?
Cool.
Ok.
Så det er et eksempel på noget, du kunne gøre
i Scratch bruge alle de værktøjer, vi diskuterede tidligere.
Så jeg også inkluderet i walkthrough dias.
Du vil se dem senere.
Det er bare et overblik over de processer, som vi gjorde -
skrider fra HungryShark0 hele vejen til vores endelige.
One
Yeah.
Men det er om det.
Jeg vil bo bag, hvis du fyre ønsker at
stille flere spørgsmål.
Dette var Walkthrough 0.
Tak til alle for at komme, og jeg vil se dig på Walkthrough 1.