ZAMYLA CHAN: Hei, og velkommen til Lotteri gjennomgang. Mitt navn er Zamyla og jeg skal være ledende walkthroughs for deg i år. I CS50, er hvert oppgavesett ledsaget av en gjennomgang. I løpet av disse gjennomganger vil jeg gå over ukens oppgavesettet, forklare begreper som kreves og bryte opp Problemet satt i håndterbare biter. For første p-set i CS50, faktisk vi vil ikke komme inn å skrive og maskinkode ting helt ennå. Heller, vi kommer til å bruke Scratch, en program som tillater oss å utforske programmering konsepter i en visuell og kreativ måte. Denne gjennomgangen vil utforske grunnleggende begreper som vi vil bruke CS50 hele, samt servering som en Scratch opplæringen. I hver gjennomgang vil jeg definere et sett med verktøy som du kan bruke for oppgavesettet. Fra større kurs begreper til faktiske funksjoner, er det godt og nyttig å vet hva du er utstyrt med før takle problemet settet. Først, la oss snakke om sprites. Sprites er sentrale for å gjøre prosjekter i Scratch. Hvert objekt eller hver karakter, det være seg en katt, en hund eller en ball, kalles en sprite. Hvis jeg vil, si, to katter i prosjektet mitt, Jeg må lage to separate sprites i Scratch, selv hvis de er helt identiske. Hver sprite har skript forbundet med den spesifikke sprite. Skript er hva du går å være å bygge ved å dra og slippe blokker. Skript er instruksjoner som bestemme og definere hvordan skriptet oppfører seg. Nå sprites er ikke bare bilder. En sprites drakt bestemmer hva sprite ser ut. Enhver sprite kan ha mer enn én drakt. Litt senere i løpet av denne gjennomgangen vil jeg vise deg hvordan du kan ha din sprite endring kostymer under programmet. For å opprette en sprite i Scratch, kan du enten velge sin opprinnelige drakt for Scratch bibliotek, tegne din egen in Scratch er innebygd i maling editor, laste opp ditt eget bilde, eller ta et bilde med datamaskinens kamera. Alle de sprites er plassert på det vi kaller scenen. Scenen er som vår lerretet der sprites kan flytte rundt. Selv om vi kan ha multipler sprites, det kan bare være en scene. Ellers etapper og sprites er ganske samme, siden stadiet kan har også scripts. Skript på scenen er svært nyttig når du ikke har et skript som ikke nødvendigvis gjelde til ett bestemt sprite. Kanskje det gjelder flere striper, eller ingen i det hele tatt. Det er generelt god design for å plassere skript på scenen hvis de er generell nok og ikke hører til bestemte sprites. Og akkurat som sprites har kostymer, stadier har bakgrunner som kan endres i løpet av programmet. Og du kan tegne din egen, last opp et bilde, ta et bilde, eller bruke Scratch bibliotek av bakgrunner. Både scenen og sprites kan også spille lyder fra Scratch bibliotek, eller du kan laste opp og spille inn din egen. For å starte Scratch programmet du vil må klikke på den grønne flagget på øverst til høyre på scenen vinduet. Men hvis du ikke koble noe til denne blokken akkurat her, da ingenting er faktisk kommer til å skje fordi sprites og scenen trenger å bli fortalt for å svare til arrangementet av den grønt flagg blir klikket. Så må du feste blokker til spor i bunnen av det grønne flagg, og så programmet vil utføre disse handlingene når du starter programmet. Vel, hva kommer etter det? Vel, har Scratch masse blokker for deg å bruke, og du kan selv lage din egen. Du vil se tre faner, Scripts, Kostymer og lyder. Under Scripts tag er kategorier av uttalelser. Uttalelser er beleilig organisert etter farge. Du har handlinger knyttet til bevegelse, lyd, utseende og så videre. Selv om du har andre blokker bygget rundt dine uttalelser, er det uttalelser som vil hjelpe sprites eller scenen for å gjøre noe, mens andre blokkene vil hjelpe avgjøre når man skal gjøre dem. La oss si at du lage din første prosjekt, og du bare vil ha den katten å mjaue under visse omstendigheter. For å gjennomføre dette, kan vi ta nytte av boolske. Dette er uttrykk som evaluerer til enten sant eller usant. I Scratch disse er identifisert ved vinkler på slutten av blokkene. Du vil ha en rekke forskjellige typer av boolske som er musen blir presset ned, ikke likestille to pluss to til 5, eller brukeren trykke ned en bestemt tast på tastaturet? Nå kan du ikke bare bruke disse boolske alene. Du må kombinere dem med det vi kaller forhold. Tilstand blokker kan finnes i de oransje kontrolloppgaver. Forhold beleilig ha litt plassholder som viser formen blokken som du trenger å legge i det. Så avhengig av konteksten av situasjon, kan du velge en boolsk og plasser den inne din tilstand. Og satt sammen, du har en betinget utsagn. Når du setter uttalelser innsiden som blokkere du har en struktur satt opp der en gang en viss tilstand er oppfylt, kan dere utføre dem uttalelser. En av fordelene med datamaskiner er det store kraft og hastighet som de kan utføre repeterende prosesser. I stedet for å si, gjenta en instruksjon om og om igjen og om igjen igjen og faktisk skrive det ut, eller i dette tilfellet, å dra og slippe og dra og slippe, hva vi kan gjøre er å kapsle inn i en loop. Løkker kan brukes til enten å utføre ting uendelig med en evig loop, eller for et gitt antall ganger. For eksempel, gjentar setningen, sier hei, 10 ganger, eller kanskje til en viss betingelsen er sann. Og med denne Gjenta til blokkere deg se at Scratch er antydet at må du plassere en boolsk inn Gjenta inntil blokken for å lage en betinget utsagn. Nå vet vi at vi kan kapsle repeterende prosesser inne i løkker, slik at du kan se hvorfor noe sånt dette kan ikke være ideelt. Det er super lenge, gjør det bare det samme om og om igjen igjen, 10 ganger faktisk. Den beveger seg 10 meter, sier Hei, flytte 10 trinn, sier Hei. Men med hjelp av loops vi kan rydde dette opp litt. Se hvordan dette er mye bedre. Det er kortere, er det mindre og den fullfører det samme. Flytte til variabler. Variabler er i hovedsak beholdere for verdier. I Scratch, disse typer verdier kan enten være løs, eller de kan være tall, verdier som vi har kontroll over. I denne første blokken har vi en tekstvariabelen inneholder verdi, Hello, World. I det andre eksemplet, er det antatt at vi allerede har en variabel som heter Teller og vi inkrementering det med tre. Og så, i det siste eksempelet, ser vi et eksempel på størrelsene som benyttes innsiden av forholdene. I denne blokken, ber vi om variabelen Telleren er mindre enn null. Nå, når du oppretter en variabel du har å avgjøre om du gjør variable tilgjengelig for alle sprites i Lotteri-programmet, eller bare for de spesifikke sprites utvalgte når du gjør variabelen. Og dette er en svært viktig avgjørelse å ta. Det kommer ned til hva omfang du vil at variabelen skal ha. Et eksempel på lokal omfang vil være en variable bare for en bestemt sprite, noe som innebærer at bare det sprite ville kunne se eller endre den. Hvis du finner en variabel med global omfang ved å velge for alle sprites, så det betyr at scenen, samt alle sprites, vil være i stand til å se, endre, og tilgang som variabel som du har opprettet. Og når det gjelder design, er det best å velge lokale omfang når du kan bare slik at resten av spriter og scenen trenger ikke å bekymre deg for holde styr på den variabelen. Du kan faktisk ha to variablene samme navn for ulike sprites som lenge de er lokale variabler. En sprite, en katt, kan ha en variabel navn Counter, og to sprite, en hund, kan også ha en variabel som heter Motvirke så lenge disse er begge lokale variabler. Fordi rammen av den variable ikke strekker seg til resten av programmet, og ingen av de andre sprites eller scenen vil bli forvirret. Tidligere nevnte jeg inngangspunkt, det når grønt flagg klikket blokk. At blokken og den medfølgende uttalelser er egentlig å fortelle dine sprites eller scenen, OK, når det grønne flagget er klikket, er dette hva du bør gjøre. Men det er ikke den eneste hendelsen som sprites og scenen kan svare på. Vi har for eksempel en hendelse for når en tast på tastaturet trykkes. Du kan faktisk velge bokstavene A til Z, null til ni eller piltastene. Det er andre arrangementer, også, slik som når sprite klikkes. Når du starter med arrangementet blokker som disse, vil du legge merke til en trend. De har alle en enkelt gruppe på bunn, og en glatt topp, hvilken indikerer at ingenting ovenfor festes til den blokken. Du bygger under disse hendelsene blokker og bygge nedover. Nå, hva skjer hvis vi ønsker noen hendelse til å skje, si, da en katt er berøre en viss del av scenen? Vi har faktisk ikke har noen innebygd arrangement for å markere at, så hva vi vil må gjøre er å lage vår egen event. Og det kalles kringkasting. Så når du ønsker å signalisere at et bestemt hendelse har skjedd, så du bruke en sort som heter Broadcast, som er funnet i kategorien Kontroll. Der vil du skrive inn navnet på tilfelle du ønsker å kringkaste, og deretter den sprite eller stadiet kan reagere på det kringkaste hvis du ønsker det. Når jeg Motta blokk forteller sprites hva de skal gjøre når de er varslet at den tilpassede hendelse har skjedd. Så husk at når du sender en hendelse, er det med forstå at enten en av de sprites eller scenen kommer til å motta den hendelsen og svare på det. Nå, den siste konseptet før vi får til et faktisk eksempel på en Scratch program, er begrepet tråder. Det er når datamaskinen er gjennomføre samtidige prosesser samtidig. Og jeg er sikker på at vi har alle tatt Fordelen med dette. Som å surfe på nettet mens lytter til musikk. Datamaskinen kan utføre flere ting på samme tid. I dette eksemplet her, disse to skript kan brukes til nøyaktig samme sprite. Inngangspunkt blokk, Når Grønt Flagg Klikket, blir brukt flere ganger, men de er to separate skript. Faktisk klikket Grønt Flagg blokk vil trolig være en av de mest populære blokkene i programmet. Her ser vi at når det grønne flagget er klikket, det er en prosess å gå videre, i tillegg til en annen. Så Scratch faktisk vil kjøre disse to på nøyaktig samme tid. Og vite at du faktisk kan ha mer enn ett inngangspunkt, selv om det er det samme inngangspunkt, kommer å være veldig nyttig hvis du ønsker å separate forskjellige oppgaver fra hverandre. OK. Så nå som vi har dekket alle disse konsepter, la oss se på et eksempel. Jeg har laget en serie med Scratch-programmer, så prøv å følge med når vi lage et lite spill. La oss begynne med å åpne Hungry Dino Zero. La oss klikke det grønne flagget for å starte den og se hva den gjør. Vi har en bug sprite som beveger seg for en noen skritt, tilbakestilles på noen høyde, og deretter skritt tilbake. Og så har vi en dino sprite. Ved å trykke på piltastene, jeg flytter dino sprite rundt, slik at det slår og rotere. Det kan være like gøy, men det er ikke veldig mange skript i dette programmet. Vi kan definitivt legge til dette. For eksempel, når dino beveger det kan faktisk gå av skjermen og nesten forsvinne fra stedet. Vi ønsker å endre det fordi vi ønsker ikke dino å unnslippe. Så la oss stoppe skriptet med den røde flagget og deretter redigere dino skript. Legg merke til at dette skriptet har en evig loop, som ender med en straight edge. Det har ikke noe groove nederst. Og dette er fornuftig fra navn, en evig loop. Det utfører noe uendelig og vil aldri ta slutt. Så dette er en stor mulighet å innføre en tråd. OK. Så la oss legge til et annet skript. Jeg kommer til å starte med dette innlegget punkt, når Grønt Flagg klikk. Og jeg ønsker å kontinuerlig sjekke om dino kommer til å være berøre kanten. Under Motion er det en pen liten blokk som sier Hvis On Edge Bounce. Og så ønsker vi å kontinuerlig gjennomføre dette. Hva dette utsagnet gjør er kontrollerer om sprite er på kanten av stadium, og spretter tilbake hvis det er. Og fordi brukeren kan alltid flytte dino, ønsker vi å finne en slags loop som tillater oss å kontinuerlig utføre denne uttalelsen. Se under kontroll vil vi velge Alltid loop. Så la oss dra det inn dino skript, og deretter legg Hvis On Edge Bounce. Og så la oss teste programmet vårt. Så feilen beveger seg som vanlig, og så hvis vi teste ut vårt nye manus av flytte vår dino til kanten, ser vi at det ikke kan unnslippe scenen lenger. Den spretter rett tilbake. Nå lurer du kanskje på hvorfor dino spretter men ikke feilen. Vel, det er fordi vi skrev vårt nyeste script inne i dino skript og ikke insektene. Så feilen ikke vil lytte til instruksjoner vi ga dino. OK. Så la oss legge til noe nytt nå. Hvis du går til Kostymer kategorien du vil se at de ulike kostymer som kommer forhåndslastet med din valgte sprite hvis du velger en fra Scratch bibliotek. Det er denne søte lille dino chomp kostyme, så la oss gjennomføre dino chomping når vi trykker, si, på mellomromstasten. Tilbake til dino skript. I dette skriptet her, jeg er allerede sjekker i evig løkke om visse piltastene blir trykket og flytting av dino tilsvarende. Hvis de forlot pilen trykkes, vil dino roterer mot klokken. Hvis høyre piltast trykkes, dino roterer med klokken. Så hvis pil opp trykkes, så dino utvikler seg fremover. Vi kan bare legge til skriptet i stedet for legge en separat fordi dette er allerede sjekket i temaet hvilke taster som skal trykkes. La oss legge til en som sjekker for Space ble trykket. Disse blokkene her sjekker for tastene trykkes. De er alle i den lysere blå, så la oss gå til lyse blå sensing uttalelser og se deg rundt. Her er en Key Spaced Press blokk. Så det vi ønsker å gjøre er å ha dino bytte til hakking sin ned kostyme hvis, og bare hvis, Space trykkes på knappen. Så la oss etterligne strukturen her. Nå endrer drakt har å gjøre med hvordan dino ser så vi vil gå til Se uttalelse. Og sikker nok, vi har en Switch Kostyme til Dino Chomp. Nå, når vi chomp ned vi ikke ønsker dino å være chomping ned for alltid, så la oss legge til en uttalelse forteller det å bytte tilbake. Det vil slå kostymer slags raskt, skjønt, fordi i Scratch uttalelser vil utføre rygg mot rygg virkelig raskt, nesten umiddelbart. Så la oss gå til kontroll og deretter gjøre dino pause for litt ved å vente ett sekund etter at den chomps ned. Nå la oss redigere bug sprite. Feilen sprite skritt frem fem trinn totalt fem ganger etter en øyeblikks pause. I den øverste blokken her feilen plasserer seg på en viss x-koordinat verdi. For å finne koordinatene du faktisk kan musen over skjermen og deretter i det nedre hjørne av scenen vindu koordinatene oppdateres så du kan dra nytte av denne hendige funksjonen til å gjennomføre koordinatene som du vil. Og, i denne uttalelsen her, instruerer vi feilen å starte på samme x verdsetter hver gang, men å plukke en tilfeldig høyde for feilen som fortsatt opphold innenfor de rammer av scenen. Ser her at jeg tar nytte av Ved kringkasting i spillene. Denne hendelsen handler kalles New bug1. Så når feilen mottar New bug1 arrangementet, det vil utføre setningen. Så etter den beveger seg fremover sitt sett antall ganger, faktisk det sendinger hendelsen New bug1. Men hva om vi endrer dette skriptet litt? Akkurat nå har vi feilen flytte fem trinn. Det er ikke mye, totalt fem ganger. Vi vet egentlig ikke hvor mange ganger vil være nødvendig før feilen kommer, si, slutten av skjermen, så la oss gjør men når enden av den skjermen, men bruker noen form av annen konstruksjon. Jeg kommer til å skille dette ut fordi vi kommer til å forandre noen ting. Slik sletter kvartaler fra Scratch du drar blokkene til venstre og slipp. Og det blir slettet. Hvis du bestemmer deg for at du ikke ønsker den slettet så du kan gå til Rediger og angre. Men vi ønsker ikke å komme kvitt den blokken. Hva vi ønsker å gjøre nå er å flytte, sier, 50 trinn og pause ett sekund, og gjenta dette før vi berører enden av skjermen. Så la oss bruke en loop som lar oss gjenta en prosess inntil en viss betingelsen er oppfylt, treffende oppkalt Gjenta til. Hva går inne i tilstanden en Gjenta til! Noe som forteller oss om bug berører kanten av skjermen, som kommer til å være under de Sensing uttalelsene. Her er denne boolske Berøring. Og du kan velge her hvilke du ønsker å se etter. Så vi vil velge Touching Edge og legge Dette betinget uttalelsen tilbake igjen Så nå hvis vi ser våre feil, vil det gå tilbake igjen når den berører kanten av scenen. Stor. Vi er ferdige med Hungry Dino Zero, så la oss åpne Hungry Dino One. Nesten som en matlaging show, har jeg lagt litt flere funksjoner. For eksempel, vil du se at feilen er faktisk glir ganske enkelt nå i motsetning til tidligere. Under bevegelse er det denne glir uttalelsen. Nå glir den bug 70 enheter til rett av sin nåværende utstilling, men forblir på samme y posisjon her. Og vi kan nå ha en dino chomping som vi implementert før. Men, er dette programmet ikke heter Hungry Dion for ingenting så la oss ha dino spise feilen. Hvordan kan vi fortelle bug, eller fortelle dino, at det har hakket ned? Hvordan kan vi formidle dette arrangementet? Vel, vi vet at når vi slår kostyme for dino til dino chomp at vi har chomped ned. Og si at vi ønsker feilen å forsvinne når den er spist. Vel, vi må sjekke om Feilen har blitt chomped på og kommunisere til bug at det må å skjule eller forsvinner fra skjermen når den er blitt chomped ned. Så hva slags konsept, hva slags verktøyet kan vi bruke til å ha dino kommunisere til bug som det har chomped ned? Kringkasting. Så la oss gå til arrangementer og legge en hendelse til å kringkaste. Chomp. OK. Men husk at når vi kringkaste noe vi må også motta denne hendelsen. Så hvilke sprite vil kringkaste chomp? Vel, la oss ta gjøre dino at når Space tasten. La oss legge til en blokk å motta chomp. Nå, når dino kommer ned bare på et tomrom vi ikke vil feilen til å reagere på det i det hele tatt, kun dersom dino var rørende, men samtidig av chomp gjør vi faktisk gjøre noe. Så vi vil bruke betingelsen Dersom fordi Vi sjekker om noe er sant eller ikke. Nå hvis vi går tilbake Sensing, deretter vi kan bruke denne rørende blokkere og velg Dino. Deretter, etter utseende, finner vi denne Hide blokk som vil i utgangspunktet gjøre feilen forsvinner fra scenen. Vi vil gjøre det skjule, men vi gjør ønsker en annen bug, ikke sant? Vår dino er sulten. Så vi ønsker å gi den en annen bug å jage. Så la oss også kringkaste hendelsen New bug1. Bortsett fra at vi ønsker at den skal vente en stund før en annen bug vises, så la oss også vente ett sekund. OK. Så la oss sjekke dette ut. Vi chomped ned, en, men forsvinner, en annen vises, og vi Chomp ned på den igjen. Dette ser ut som en ganske morsomt spill, men alle spillene trenger å score, ikke sant? Så hva kan vi bruke til å holde styr på hvor mange bugs dino har spist? En variabel. Så la oss legge til en variabel kalt Score. Og nå må vi bestemme hva omfang denne variabelen har. Så la oss tenke. Selv om vi kanskje vil det, men for å øke stillingen hvis det har vært hell spist, og scenen makt ha noe å gjøre med den score så godt, så la oss tildele denne variabelen til alle sprites. Vi ønsker å øke score hvis, og bare hvis, en feil har blitt spist. Og vi har allerede skrevet et manus som avtaler med en bug som blir spist så la oss legge denne uttalelsen i, Endre Resultat By One. Det betyr at når du spiser en bug poengsummen øker. La oss spille for litt og spise, Jeg vet ikke, tre bugs. Så du blir lei av spillet, vel, du trykke på den røde stopp undertegne for å stoppe spillet. Og når du ønsker å komme tilbake du vil trykk på den grønne flagget igjen. Men stillingen er fortsatt tre selv selv om jeg spiller et nytt spill. Vi ønsker ikke å gi brukerne et hode starte, så vi må nullstille scorer hver gang de starter et nytt spill. Så la oss legge til en uttalelse til scenen er inngangspunkt skript for å sette variabel poeng til null. Så nå, når du starter et spill, stillingen vil starte på null. Nå la oss åpne Hungry Dino 2 der Jeg har lagt til noen flere ting. Jeg rett klikket på feil sprite til duplisere sprite som gjorde en sprite identisk med min forrige. Giften Bug er i hovedsak identisk med Bug1 men jeg valgte en ny drakt fordi Jeg syntes det så, vel, slags giftig. I stedet for å øke poengsummen når giften bug er spist, faktisk jeg redusere poengsummen ved å endre score ved negativ en. Og da jeg gjorde en annen drakt for vår dino hjelp av maling editor til gjøre en syk ser dino og kalte den Dino Sick. Men vi bruker ikke denne drakten i vår programmet ennå, så la oss legge til noen uttalelser og blokker som vil endre dino drakt til den grønne syke drakt når den spiser en forgiftet bug. Nå, siden duplisert vi feilen sprite, forgiftet bug har alle skript som opprinnelige bug gjør. Hvis du ønsket å kopiere over skript fra andre sprites, kan du dra script på toppen av sprite som du ønsker å kopiere til. Men vi trenger ikke å gjøre det her fordi den forgiftet bug har allerede en script som sjekker at feilen har blitt chomped ned på. Og vi kan dra nytte av dette for å kommunisere til dino at den spiste en giftig bug. Og vi kommuniserer mellom sprites av kringkasting. Så la oss sende en ny arrangement som heter Dino Sick. Og vi vet at vi har en drakt for dino endre til, men vi har også vet fra tidligere at det er best å legge inn en pause mellom kostyme endringer. Så når jeg mottar Dino Sick, jeg kommer å endre kostyme til Dino Sick, vent ett sekund, og deretter bytte tilbake til Dino Hungry. OK. La oss spille vårt spill og spise en feil og billen. Og poengsummen reduseres med én. Nå, noen ganger kan det hende at variable kanskje ikke vises på venstre hjørne av skjermen. Hvis du navigerer til data seksjonen under skript, vil du se dette hake ved siden av de variablene som du oppretter. Og dette skjuler eller Ta frem de variable fra skjermen. Men du kan også bruke en uttalelse kalt Show eller Skjul en bestemt variabel. Så la oss bruke dette Vis Variabel Resultat til sørge for at hver gang vi starter spillet, er variabelen vist. Stor. Så la oss kjøre spillet og spise en gift bug med en gang. Nå er det litt rart å ha et spill å ha negative poeng, ikke sant? Så la oss introdusere en annen funksjon. Hvis dino spiser for mange giftige feil da det blir for syke og spillet er over. Så for å gjennomføre dette, vil vi kringkaste en annen hendelse, Game Over. Hvordan vet vi når å utføre Dette Game Over sending? Vel, vi kan gjøre dette på mange måter. Vi kan ha et skript i den fasen at kontinuerlig sjekker om stillingen er negativ eller ikke, og sendingene Game Over når poengsum blir negativ. Eller vi kunne dra nytte av det faktum at den eneste måten poengsummen noensinne kunne være negativ, er når en giftig bug er spist. Fordi når du spiser den andre bug, de poengsummen din øker. Det er ingen vits i å sjekke om det bør være Game Over eller ikke når du spise en spiselig bug. Så vi kan faktisk bare legge til script som mottar Dino Sick hendelse sendingen. Vi ønsker å instruere dino følger. Hvis stillingen er mindre enn null, kringkaste Game Over. Så vi vil bygge Resultat Mindre enn Zero tilstand ved hjelp av en blokk fra operatør delen, og dra i vårt poeng til den blokken. Og se her du kan bare dra variable score og legge mindre enn null. Og vi kommer til å kringkaste en ny hendelse, Game Over. Men hvis stillingen ikke har gått under null, vil vi dino til fortsette spillet. Så i stedet for å bruke en hvis det her, la oss bruke en if else konstruere. En if else konstruere forteller vår dino til gjøre en ting hvis betingelsen er sann og en annen ting hvis betingelsen er usann. Liket av vår første hvis ikke kan gå inn i if annet, så la oss dra det i. Men dersom poengsummen er ikke mindre enn null, så la oss gå tilbake til Hungry Dino drakt. Vi ønsker ikke å gjøre det preemptively. Stor. Men siden vi kringkaste Game Over, vi trenger fortsatt å gjøre en hendelse mottaker blokk. Det er faktisk en Stop All uttalelse i kontroll, så la oss koble denne til når jeg får Game Over. Men vi ønsker også feilen å stoppe, så la oss dra dette skriptet på til alle feilen sprites samt scenen. La oss prøve dette ut. Spise en giftig insekt med en gang, programmet stopper som forventet. Ingen av de andre bugs flytte og verken gjør dino hvis du trykker ned piltastene. Men la oss si at vi ønsker ikke å minne brukeren av deres negative score, så la oss skjule variable poengsum fra scenen når spill Over hendelse er mottatt. OK. Så dette er en ganske anstendig spill. Med mer tid kan du legge til flere sprites og flere skript. Kanskje feilene kan flytte ved forskjellige hastigheter. Du kan legge til en ny bakgrunn til scenen - en Game Over bakteppe - slik at, når den scene mottar Game Over hendelse, kan den bytte til Game Over bakteppe og alle av sprites skjule. Mange små tilpasninger kan gjøres for å gjøre spillet ditt litt mer polerte. Og dette er bare ett eksempel på en prosjekt som du kan gjøre i Scratch bruker alle verktøyene vi diskuterte tidligere - sprites, kostymer, scener, bakgrunner, forhold, looper, variabler, kringkasting hendelser og tråder. Hungry Dino bruker ikke noen lyd effekter, men du kan enkelt legge til din egne ved å navigere til kategorien Lyder og utforsker lyden uttalelser. Scratch er en flott introduksjon til programmering konsepter, så vær kreativ og, viktigst av alt, ha det gøy. Mitt navn er Zamyla, og dette er CS50.