Tip:
Highlight text to annotate it
X
>> ZAMYLA CHAN: Hej og velkommen til Scratch walkthrough.
Mit navn er Zamyla, og jeg vil være førende walkthroughs for dig i år.
I CS50, er ethvert problem sæt ledsaget af en gennemgang.
I løbet af disse walkthroughs vil jeg gå over ugens problemet sæt, forklare
koncepter påkrævet, og bryde op Problemet sat i håndterbare bidder.
>> For det første p-set i CS50, vi faktisk vil ikke komme ind at skrive og
maskine kode stuff helt endnu.
Snarere, vi kommer til at bruge Scratch, en program, der giver os mulighed for at udforske
programmering begreber i en visuel og kreativ måde.
Denne gennemgang vil undersøge grundlæggende begreber, som vi vil bruge
hele CS50, såvel som betjener som Scratch tutorial.
I hvert walkthrough jeg vil liste et sæt værktøjer, som du kan bruge til
Problemet sæt.
Fra større kursus koncepter til den faktiske funktioner, det er godt og nyttigt at
vide, hvad du udstyret med før tackle problemet sæt.
>> Først, lad os tale om sprites.
Sprites er centrale for at gøre projekter i Scratch.
Hver genstand eller hvert tegn, det være sig en kat, en hund eller en
kugle, kaldes en sprite.
Hvis jeg vil, siger, to katte i mit projekt, Jeg bliver nødt til at lave to
separate sprites i Scratch, selv hvis de er helt identiske.
>> Hver sprite har tilknytning scripts med det specifikke Sprite.
Scripts er, hvad du vil at bygge ved at trække
og slippe blokke.
Scripts er instruktioner, bestemme og definere
hvordan scriptet opfører.
>> Nu sprites er ikke bare billeder.
En sprites kostume bestemmer hvad sprite ser ud.
Enhver given sprite kan have mere end én kostume.
Lidt senere i løbet af denne gennemgang jeg vil vise dig, hvordan du kan få din
sprite ændre kostumer i løbet af din program.
>> Sådan opretter du en sprite i Scratch, kan du enten vælge sin oprindelige kostume til
Scratch bibliotek, tegne dine egne i Scratch har indbyggede maling editor,
uploade dit eget billede, eller tag et billede med computerens kamera.
Alle sprites er placeret på det, vi kalder scenen.
Scenen er ligesom vores lærred, hvor sprites kan bevæge sig rundt.
>> Selvom vi kan have multipla sprites, Der kan kun være én etape.
Ellers etaper og sprites er ganske lignende i denne etape kan
også scripts.
Scripts på scenen er meget nyttige når du ikke har et script, der
ikke nødvendigvis vedrøre til en bestemt sprite.
Måske det vedrører flere striber, eller slet ingen.
>> Det er generelt godt design til at placere din scripts på scenen, hvis de er
generel nok og ikke vedrører til specifikke sprites.
Og ligesom sprites har kostumer, etaper har baggrunde, der kan ændre
i løbet af dit program.
Og du kan tegne dine egne, uploade et billede, tage et billede, eller brug
Scratch bibliotek af baggrunde.
Både på scenen og sprites kan også spille lyde fra Scratch bibliotek, eller
kan du uploade og optage din egen.
>> For at starte din Scratch program vil du nødt til at klikke på den grønne flag på
øverste højre hjørne af scenen vinduet.
Men hvis du ikke tilslutter noget at denne blok lige her, så intet er
faktisk kommer til at ske, fordi din sprites og scenen skal vide
at reagere på tilfælde af grønt flag bliver klikket på.
Så du bliver nødt til at fastgøre blokke til rille i bunden af det grønne
flag, og programmet vil køre disse handlinger, når du starter
dit program.
>> Nå, hvad der kommer efter det?
Nå, Scratch har masser af blokke for dig at bruge, og du kan
endda lave dine egne.
Du vil se tre faneblade, scripts, Kostumer og lyde.
Under Scripts tag findes kategorier udsagn.
Udsagn er bekvemt arrangeret af farve.
Du har aktioner vedrørende bevægelse, lyd, udseende, og så videre.
Selvom du har andre bygget blokke omkring dine udtalelser, er det den
udsagn, der vil hjælpe de sprites eller scenen til at gøre noget, mens
andre blokke vil hjælpe med at bestemme når at gøre dem.
>> Lad os sige, at du skabe din helt første projekt, og du kun vil have
kat til miaver under visse omstændigheder.
For at implementere dette, kan vi tage fordel af Booleans.
Det er udtryk, der evaluerer til enten sand eller falsk.
I Scratch disse identificeres af vinkler i slutningen af blokkene.
Du har en række forskellige typer af Booleans såsom er musen
bliver trykket ned, går 2 plus 2 sidestille til 5, er eller at brugeren trykker
ned en bestemt tast på tastaturet?
>> Nu kan du ikke bare bruge disse Booleans alene.
Du bliver nødt til at kombinere dem med hvad vi kalder forhold.
Stand blokke kan findes i den orange kontrol udsagn.
Betingelser har hensigtsmæssigt en lille pladsholder, der viser formen af
blokken, som du har brug for at sætte ind i det.
Så afhængigt af for rammerne af situation, kan du vælge en boolesk
og placere den inde i din tilstand.
Og sat sammen, har du en betinget erklæring.
Når du lægger udsagn indeni, blokere du har en struktur oprettet
hvorved en gang en bestemt betingelse er opfyldt, kan du derefter udføre dem
udsagn.
>> En af fordelene ved computere er den enorme kraft og hastighed, hvormed de
kan udføre gentagne processer.
I stedet for, siger, at gentage en instruktion igen og igen og igen
igen og faktisk skrive det ud, eller i dette tilfælde, at trække og slippe
og trække og slippe, hvad vi kan gøre er indkapsle i en løkke.
>> Løkker kan anvendes til enten udføre tingene uendeligt med en evigt loop,
eller for et bestemt antal gange.
For at gentage redegørelsen, siger hej, 10 gange, eller måske indtil et bestemt
betingelse er sand.
Og med denne Gentag Indtil blokere dig se, at bunden er antyde, at
du bliver nødt til at placere en boolesk ind Gentag Indtil blok til at gøre en
betinget erklæring.
>> Nu ved vi, at vi kan indkapsle repetitive processer inde loops,
så du kan se, hvorfor noget lignende dette kan ikke være ideel.
Det er super lang, det gør bare de samme ting igen og igen
igen, 10 gange i virkeligheden.
Den bevæger 10 trin, siger hej, flytte 10 trin, siger hej.
Men med hjælp af loops, vi kan rydde dette op lidt.
Se hvordan det er meget bedre.
Det er kortere, det er mindre og det fuldender det samme.
>> Flytning til variabler.
Variabler er hovedsagelig beholdere til værdier.
I bunden, kan de typer af værdier enten være ord, eller de kan være
tal, værdier, som vi have kontrol over.
I denne første blok har vi en tekstvariabel indeholdende
værdi, Hello, World.
I det andet eksempel, er det antaget, at har vi allerede en navngiven variabel
Tæller og vi forøgning det med tre.
Og så, i det sidste eksempel, ser vi et eksempel på variabler, der anvendes
indersiden af betingelser.
I denne blok, beder vi om variablen Tæller er mindre end nul.
>> Nu, når du opretter en variabel, du har at afgøre, om du kan få det
variabel tilgængelig for alle sprites i din Scratch program eller
blot for de specifikke udvalgte sprites når du laver variablen.
Og dette er en meget vigtig beslutning at gøre.
Det kommer ned til, hvad rækkevidden dig ønsker variablen skal have.
>> Et eksempel på lokal rækkevidde ville være en variabel bare for en bestemt sprite,
hvilket betyder, at kun sprite ville være i stand til at se eller ændre den.
Hvis du finder en variabel med global muligheder ved at vælge for alle
sprites, så det betyder, at scenen, samt alle de sprites,
vil være i stand til at se, redigere, og adgang, som
variabel, du har oprettet.
Og med hensyn til design, er det bedst at vælge lokale rækkevidde, når du kan
lige så resten af sprites og scene behøver ikke at bekymre dig om
holde styr på denne variabel.
>> Du kan faktisk have to variabler af det samme navn for forskellige sprites som
længe de er lokale variable.
Sprite én, en kat, kan have en variabel navn Tæller og sprite to, en hund,
kan også have en navngiven variabel Modvirke så længe disse
er begge lokale variable.
Da omfanget af den variable strækker sig ikke til resten af
programmet, og ingen af de andre sprites eller vil scenen blive forvirret.
>> Jeg nævnte tidligere, at indgang, Den når grønne flag klikket blok.
Denne blok og den ledsagende udsagn er hovedsagelig fortæller
dine sprites eller scenen, OK, når det grønne flag er klikket, er det
hvad du skal gøre.
Men det er ikke den eneste tilfælde, sprites og scenen kan reagere på.
Vi har for eksempel en begivenhed for når et tastatur tasten.
Du kan faktisk vælge bogstaverne A gennem Z, ni nul eller gennem
piletasterne.
>> Der er andre begivenheder, som for eksempel som når din sprite er klikket på.
Når du starter med event blokke gerne disse, vil du bemærke en tendens.
De har alle en enkelt gruppe på bund og en glat top, som
angiver, at intet ovenfor tillægger denne blok.
Du bygger under disse begivenheder blokke og bygge nedad.
>> Nu, hvad der sker, hvis vi ønsker nogle begivenhed ske, sige, når en kat er
rører en vis del af scenen?
Vi har faktisk ikke har nogen indbygget hændelse til at betyde, at så, hvad vi vil
skal gøre er at skabe vores eget arrangement.
Og det hedder udsendelser.
>> Så når du ønsker at signalere, at en bestemt begivenhed, der er sket, så du
Brug en sort kaldet Broadcast, der findes i fanebladet.
Der kan du skrive navnet på den tilfælde af at du ønsker at udsende, og
så uanset hvilken sprite eller stadium kan reagere på det
udsendes, hvis du ønsker det.
Når jeg Modtag blok fortæller sprites hvad de skal gøre, når de er
besked om, at din brugerdefinerede begivenhed, der er sket.
Så husk, at når du udsender en begivenhed, det er med
forstå, at enten en af sprites eller scenen kommer til at
modtage denne begivenhed og svare på det.
>> Nu det sidste begreb, før vi får til et konkret eksempel på en Scratch
program, er begrebet tråde.
Det er, når din computer er udføre samtidige
processer på samme tid.
Og jeg er sikker på, vi har alle taget fordel af dette.
Ligesom at surfe på nettet, mens lytte til musik.
Computeren kan udføre flere ting på samme tid.
>> I dette eksempel her, disse to scripts kan bruges til
nøjagtig samme sprite.
Punktet point blok, når Grønt Flag Klikkes der bruges flere gange, men
de er to separate scripts.
Faktisk Grønt Flag klikket blok vil sandsynligvis være en af de mest
populære blokke i dit program.
Her ser vi, at når det grønne flag er klikkes der er en proces i gang
på, samt en anden.
Så Scratch rent faktisk vil køre disse to på nøjagtig samme tid.
Og vel vidende, at du rent faktisk kan få mere end én indgang, selvom
det er den samme indgang, går at være virkelig nyttige, hvis du ønsker at
separate adskilte opgaver fra hinanden.
>> Ok.
Så nu, at vi har dækket alle disse koncepter, lad os se på et eksempel.
Jeg har lavet en serie af Scratch-programmer, så prøv at følge med, da vi
lave et lille spil.
Lad os starte med at åbne Hungry Dino Zero.
>> Lad os klikke på det grønne flag for at starte det og se, hvad den gør.
Vi har en bug sprite der bevæger en par skridt, nulstilles på nogle højde og
derefter trin tilbage.
Og så har vi en dino sprite.
Ved at trykke på piletasterne, jeg flytter Dino sprite rundt, hvilket gør det dreje
og rotere.
Det kan være slags sjov, men Der er ikke ret mange
scripts i dette program.
Vi kan helt sikkert tilføje til dette.
>> For eksempel, når dino bevæger det kan faktisk få væk fra skærmen og
næsten forsvinde fra stedet.
Vi ønsker at ændre det, fordi vi ønsker ikke dino at flygte.
Så lad os stoppe vores script med den røde flag og derefter redigere dino scripts.
Bemærk, at denne særlige script har en evigt loop, som ender med en
lige kant.
Det har ikke nogen rille nederst.
Og det giver mening fra navn, en evigt løkke.
Det udfører noget uendeligt og vil aldrig ende.
Så dette er en stor mulighed at indføre en tråd.
>> Ok.
Så lad os tilføje en anden script.
Jeg har tænkt mig at starte med denne post point, når Grønt Flag Klikkede.
Og jeg vil løbende kontrollere hvorvidt dino bliver
rører kanten.
Under Motion er der en pæn lille blok der siger, hvis On Edge Bounce.
Og så vil vi løbende udføre dette.
>> Hvad denne erklæring gør, er tjekker, om Sprite er på kanten af
fase, og bounces tilbage, hvis det er.
Og fordi brugeren altid kan bevæge dino, vi ønsker at finde en form for
loop, der giver os mulighed for løbende at udføre denne erklæring.
Ser under kontrol vi vælge evigt loop.
Så lad os trække det ind i dino scripts, og derefter
Tilføj, hvis On Edge Bounce.
Og så lad os *** vores program.
>> Så fejlen bevæger pr sædvanlig, og derefter, hvis vi tester vores nye manuskript af
flytte vores dino til kanten, vi se, at det ikke kan
undslippe scenen længere.
Det afvisninger højre back.
Nu kan du måske undre, hvorfor dino afvisninger, men ikke fejlen.
Tja, det er fordi vi skrev vores nyeste script inde i dino-scripts
og ikke bugs.
Så fejlen ikke vil lytte til instruktioner, vi gav dino.
>> Ok.
Så lad os tilføje noget nyt nu.
Hvis du går til Kostumer fane, du vil se at de forskellige kostumer,
kommer præinstalleret med din valgte sprite hvis du vælger en fra
Ridse bibliotek.
Der er denne søde lille dino chomp kostume, så lad os gennemføre dino
chomping når vi trykker på, sige, på mellemrumstasten.
>> Tilbage til Dino scripts.
I dette script her, jeg allerede kontrol i evigt loop, hvorvidt
visse piletasterne bliver presset og flytte dino tilsvarende.
Hvis de forlod pil der trykkes på dino roterer mod uret.
Hvis højre pil der trykkes Dino roterer med uret.
Så hvis pil op trykkes, så Dino skrider fremad.
Vi kan blot tilføje til scriptet i stedet for tilføje en separat, fordi dette
allerede kontrol i temaet hvilke taster bliver trykket.
>> Lad os tilføje en, der kontrollerer, om mellemrumstasten bliver trykket.
Disse blokke her tjekker for nøglerne bliver trykket.
De er alle i lysere blå, så lad os gå til lyse blå sensing
erklæringer og se sig omkring.
Her er en nøgle Spaced Press blok.
Så hvad vi ønsker at gøre, er at have dino skifte til hakning ned kostume
hvis og kun hvis, Space den tasten holdes.
>> Så lad os efterligne strukturen her.
Nu ændre kostume har at gøre med hvordan dino ser så vi vil gå til
Kig erklæring.
Og ganske rigtigt, vi har en Switch Costume til Dino Chomp.
Nu, når vi chomp ned vi ikke ønsker Dino være chomping ned for evigt,
så lad os tilføje en erklæring fortæller det at skifte tilbage.
Det vil skifte kostumer slags hurtigt, selv, fordi i Scratch udsagn
vil køre tilbage til tilbage virkelig hurtigt, næsten øjeblikkeligt.
Så lad os gå til Control og derefter foretage de dino pause til lidt ved at vente
et sekund efter det chomps ned.
>> Lad os nu redigere bug sprite.
Fejlen sprite træder frem fem skridt i alt fem gange efter en
øjebliks pause.
I den øverste blok her fejlen placerer sig på et bestemt
x-koordinat værdi.
For at finde koordinaterne kan du faktisk musen hen over skærmen og
derefter i det nederste hjørne af scenen Vinduet koordinaterne opdateres, så
kan du drage fordel af denne handy funktionen at gennemføre koordinaterne
som du ønsker.
Og i denne erklæring her instruere vi fejlen til at starte på samme
x-værdi hver gang, men at plukke en tilfældig højde for fejlen, der stadig
ophold inden for de begrænsninger, af scenen.
>> Se her, at jeg tager fordel af Såfremt udsendelse i Scratch.
Denne hændelseshandler kaldes New Bug1.
Så når fejlen modtager Ny Bug1 begivenhed
det vil udføre erklæring.
Så efter den bevæger sig fremad sit sæt mængden af gange, det faktisk
udsendelser tilfælde New Bug1.
>> Men hvad vi ændrer dette script lidt?
Lige nu har vi fejlen flytte fem trin.
Det er ikke meget, en total fem gange.
Vi ved ikke rigtig, hvor mange gange vil være behov for, indtil fejlen når,
sige, den ende af skærmen, så lad os gøre men nå enden af
skærm, men bruge en form af anden konstruktion.
>> Jeg har tænkt mig at skille det ud, fordi vi kommer til at ændre et par ting.
Sådan sletter blokke fra Scratch du trækker blokke til
venstre og slip derefter.
Og det bliver slettet.
Hvis du beslutter, at du ikke gjorde ønsker det slettet, så du kan
gå til Edit og genopretter.
Men vi ønskede at få slippe af denne blok.
>> Hvad vi ønsker at gøre nu, er at flytte, siger, 50 trin og pause et sekund, og
Gentag dette, indtil vi rører enden af skærmen.
Så lad os bruge en løkke, der tillader os at gentage en proces indtil et bestemt
betingelse er opfyldt, rammende opkaldt Gentag Indtil.
>> Hvad går inde i tilstanden af Repeat Indtil?
Noget der fortæller os, om bug rører kanten af
skærm, som kommer til at være under sensing Statements.
Her er denne Boolean, Berøring.
Og du kan vælge her, hvad du ønsker at kontrollere for.
Så vi vil vælge rørende Edge og tilføjer denne betingede erklæring igen
>> Så nu, hvis vi se vores bug, det vil flytte tilbage igen, når det rører
kanten af scenen.
Store.
Vi er færdige med Hungry Dino Zero, så lad os åbne Hungry Dino One.
Lidt ligesom en madlavning show, jeg har tilføjet en lille smule flere funktioner.
For eksempel, vil du se, at fejlen er faktisk glider ganske enkelt nu
i modsætning til før.
Under bevægelse er der denne glide erklæring.
Nu fejlen glider 70 enheder til ret af sit nuværende redegørelse, men
forbliver på samme y position her.
Og vi kan nu har en dino chomping da vi implementeret før.
>> Men er dette program ikke kaldes Hungry Dion for ingenting, så lad os få det
dino spiser fejlen.
Hvordan kan vi fortælle bug, eller fortæl dino, at det har hugget ned?
Hvordan kan vi formidle denne begivenhed?
Tja, vi ved, at når vi skifter kostume til dino til dino chomp
at vi har chomped ned.
Og siger, at vi ønsker, at fejlen til at forsvinde når den er spist.
Nå, vi er nødt til at kontrollere, om fejlen er blevet chomped, og
meddele fejlen, at det vil have at skjule eller forsvinder fra skærmen
når den er blevet chomped ned.
>> Så hvad slags koncept, hvilken slags Værktøjet kan vi bruge til at få dino
meddele fejl, det har chomped ned?
Broadcasting.
Så lad os gå til begivenheder og tilføje en begivenhed for at udsende.
Chomp.
OK.
Men husk, at når vi udsender noget, vi også nødt til at
modtage denne begivenhed.
Så der sprite vil udsende chomp?
Nå, lad os få det dino gøre det når Space tasten.
>> Lad os tilføje en blok til at modtage chomp.
Nu, da dino kommer ned lige på et tomt rum, vi ikke ønsker, at fejlen
til at reagere på, at der på alle, kun hvis dino var rørende, men på det tidspunkt
af chomp gør vi faktisk gøre noget.
Så vi vil bruge tilstanden Hvis fordi Vi tjekker, om noget er
sandt eller ej.
>> Nu, hvis vi går tilbage til Sensing, så vi kan bruge denne rørende
blokere og vælg Dino.
Så under udseende, finder vi denne Hide blok, der vil stort set gøre bug
forsvinder fra scenen.
>> Vi vil gøre det skjuler, men vi gør vil have en anden bug, right?
Vores dino er sulten.
Så vi ønsker at give det en anden bug at jage.
Så lad os også udsendt Såfremt Ny Bug1.
Medmindre vi ønsker det at vente et stykke tid før en anden bug vises, så lad os
også vente et sekund.
>> Ok.
Så lad os tjekke det ud.
Vi chomped ned en men forsvinder, en anden vises, og vi gumler ned
på det igen.
Det er at ligne en smuk sjovt spil, men alle spil
nødt til at score, right?
Så hvad kan vi bruge til at holde styr på hvor mange bugs dino har spist?
En variabel.
Så lad os tilføje en variabel kaldet Score.
>> Og nu vil vi nødt til at beslutte, hvad Anvendelsesområde Denne variabel har.
Så lad os tænke.
Mens vi måske ønsker det, men for at øge den score, hvis det har været
held spist, og scenen kunne har noget at gøre med den
score så godt, så lad os tildele denne variabel til alle sprites.
>> Vi ønsker at øge score, hvis og kun hvis en fejl er blevet spist.
Og vi har allerede skrevet et script, der omhandler en bug bliver spist så
lad os tilføje dette ene erklæring i, Resultat Ændring By One.
Det betyder, at når du spiser en bug score stiger.
>> Lad os spille for lidt og spise, Jeg ved det ikke, tre bugs.
Så får du træt af spillet, ja, du trykke på den røde stop-
underskrive at stoppe spillet.
Og når du ønsker at komme tilbage vil du Tryk på den grønne flag igen.
Men score er stadig tre endnu selvom jeg spiller et nyt spil.
Vi ønsker ikke at give brugerne et hoved starter, så vi bliver nødt til at nulstille
score hver gang de starte et nyt spil.
Så lad os tilføje en erklæring til scenens indgang script for at indstille
variabel score til nul.
Så nu, når du starter et spil, Scoren vil starte på nul.
>> Lad os nu åbne Hungry Dino 2 hvor Jeg har tilføjet et par ting mere.
Jeg ret klikkede på bug sprite til duplikere sprite, der gjorde en
sprite identisk med min forrige.
Poison Bug er identisk med Bug1 men jeg valgte en ny kostume, fordi
Jeg troede, det kiggede godt, slags giftige.
I stedet for at øge score, når giften bug er spist, jeg faktisk
sænke score ved at ændre score ved negativ.
>> Og så har jeg lavet en anden kostume til vores dino hjælp malingen editor til
gøre en syg leder dino og kaldte det Dino Sick.
Men vi behøver ikke bruge dette kostume i vores program endnu, så lad os tilføje nogle
erklæringer og blokke, der vil ændre Dino kostume til den grønne syge
kostume, når det spiser en forgiftet bug.
>> Nu, da vi duplikeret bug sprite, den forgiftede bug har alle
De scripts, som oprindelige bug gør.
Hvis du ønskede at kopiere scripts andre sprites, kan du trække
script på toppen af sprite som du ønsker at kopiere til.
Men vi behøver ikke at gøre det her fordi den forgiftede fejl allerede har en
script som tjekker, at fejlen blevet chomped ned på.
Og vi kan drage fordel af denne til meddele dino det spiste en
giftige bug.
Og vi kommunikere mellem sprites ved udsendelse.
Så lad os sende et nyt begivenhed kaldet Dino Sick.
>> Og vi ved, at vi har et kostume til Dino for at skifte til, men vi har også
ved fra tidligere, at det er bedst at tilføje en pause
mellem kostume ændringer.
Så når jeg modtager Dino Sick, vil jeg at skifte kostume til Dino Sick, vent
et sekund, og derefter skifte tilbage til Dino Hungry.
Ok.
Lad os spille vores spil og spise en fejl og bille.
Og score falder med én.
>> Nu, nogle gange er du måske bemærke, at variabel muligvis ikke på
venstre hjørne af skærmen.
Hvis du navigerer til data, i henhold scripts, vil du se denne markering
ved siden af de variabler, som du opretter.
Og det skjuler eller unhides de variabel fra skærmen.
Men du kan også bruge en erklæring kaldet Show eller
Skjule en bestemt variabel.
Så lad os bruge denne Vis Variabel Score til sørg for, at hver gang vi starter
spillet er variablen vises.
Store.
>> Så lad os køre spillet og spise en gift bug højre væk.
Nu er det lidt underligt at have et spil at have negative punkter, right?
Så lad os indføre en anden funktion.
Hvis dino spiser for mange giftige bugs så det bliver for syge og
er spillet ***.
Så for at gennemføre denne, vil vi udsende en anden begivenhed, Game Over.
Hvordan kan vi vide, hvornår at udføre denne Game Over udsendelse?
>> Nå, vi kan gøre det på flere måder.
Vi kan have et script i den fase, at løbende kontrollerer, om partituret
er negativ eller ej, og udsendelser Game Over, når de
score bliver negativ.
Eller vi kunne drage fordel af det faktum, at den eneste måde at score nogensinde kunne
være negativ, er, når en giftig bug er spist.
Fordi når du spiser den anden bug, de score stiger.
Der er ingen brug i at kontrollere, om det bør være Game Over eller ej, når du
spiser en spiselig bug.
>> Så vi kan faktisk bare føje til script, der modtager Dino Sick
begivenhed udsendelse.
Vi ønsker at instruere dino som følger.
Hvis scoren er mindre end nul, broadcast Game Over.
Så vi vil bygge Score mindre end nul tilstand ved hjælp en blok fra
operatør sektion, og trække i vores score til denne blok.
Og se her, kan du bare trække variabel score og lægge mindre end nul.
Og vi kommer til at udsende en ny begivenhed, Game Over.
>> Men hvis score ikke er gået under nul, vi ønsker, dino til
fortsætte spillet.
Så i stedet for at bruge en, hvis her, lad os bruge en hvis ellers konstruere.
En hvis ellers konstruere fortæller vores dino til gøre én ting, hvis betingelsen er sand
og en anden ting, hvis betingelse er falsk.
Liget af vores første, hvis kan gå ind if andet, så lad os trække det i.
Men hvis score ikke er mindre end nul, så lad os skifte tilbage til den
Hungry Dino kostume.
Vi ønsker ikke at gøre det forebyggende.
Store.
>> Men da vi udsende Game Over, vi stadig nødt til at gøre en
begivenhed receiver blok.
Der er faktisk en Stop All erklæring i kontrol, så lad os slutte dette til
når jeg modtager Game Over.
Men vi ønsker også fejlen at stoppe, så lad os trække dette script på til alle
fejlen sprites samt scenen.
Lad os prøve dette.
>> Spise en giftig bug højre væk, programmet stopper som forventet.
Ingen af de andre bugs farten og hverken gør dino, hvis du trykker
ned piletasterne.
Men lad os sige, at vi ikke ønsker at minde brugeren af deres negative score, så
lad os skjule variable score fra scenen, når spillet
Over begivenhed er modtaget.
Ok.
>> Så dette er en smuk anstændigt spil.
Med mere tid du kan tilføje flere sprites og mere scripts.
Måske bugs kan bevæge ved forskellige hastigheder.
Du kan tilføje en ny baggrund på scenen -
en Game Over kulisse -
sådan, at når scenen modtager Game Over omstændigheder kan det skifte til
Game Over kulisse og alle af sprites skjule.
Masser af små fif kan gøres for at gøre dit spil lidt mere poleret.
>> Og dette er blot ét eksempel på en projekt, som du kan gøre i Scratch
bruge alle de redskaber, der vi diskuterede tidligere -
sprites, kostumer, scener, kulisser, betingelser, løkker, variabler,
tv events og tråde.
Hungry Dino bruger ikke nogen lyd effekter, men du kan nemt tilføje din
egne ved at navigere til fanen Lyde og udforske lyden udsagn.
Scratch er en god introduktion til programmering begreber, så vær kreativ
og vigtigst, have det sjovt.
Mit navn er Zamyla, og dette er CS50.