[Powered by Google Translate] ZAMYLA CHAN: All right.
Hei, alle sammen, og velkommen til Walkthrough 0.
Mitt navn er Zamyla, og jeg skal lede disse
walkthroughs i år.
I CS50, hver oppgavesettet ledsaget av en gjennomgang
der vi vil gå gjennom ukens oppgavesettet, snakke det
gjennom, snakke om hvordan du kommer i gang, diskutere ulike
teknikker og tips for å virkelig bryte problemet satt inn
noen håndterbare biter.
Jeg er også veldig glad for å svare på eventuelle spørsmål du
har på oppgavesettet.
Uten videre, jeg er glad du er her, enten du er
her i person eller tuning i nettet.
La oss komme i gang.
>> Så den første p-set i CS50 -
faktisk, vi kommer ikke til å komme inn å skrive og maskin
kode ting helt ennå.
Vi faktisk kommer til å bruke Scratch, som er en
program som tillater oss å gjøre noen dra og slipp
programmering.
Og så selv om vi ikke skriver, gjør det oss virkelig til
utforske noen av de grunnleggende begreper som
Vi vil bruke alle hele CS50.
Nå, noen av disse konseptene er
oppført her i verktøykassa.
Det jeg ønsker å gjøre for hver walkthrough er presentere deg alle
med et sett med verktøy som du kan bruke for gjennomgang.
Og så, ikke bekymre deg.
Vi vil gå igjennom alle disse vilkårene og alle disse
teorier under gjennomgangen.
Nå, om du ender opp med å bruke alle disse verktøyene, eller bare
noen av dem, det er virkelig godt å vite hva du er utstyrt
med å være i stand til å takle problemet sett.
>> Så i Scratch, er det første lingo som du trenger å vite hva
en sprite er.
Så hver gjenstand eller hver karakter, det være seg en katt en hund
eller en ball, kalles en sprite.
Og så, hvis jeg vil, si, to katter - hvorvidt de er
identiske -
Jeg må gjøre to separate sprites i Scratch.
Og så sprites har skript forbundet med dem.
Skript er faktisk hva du skal bygge -
dra og slippe - med blokker.
Og så hva skriptene dine er slags bestemme og definere hvordan
sprite oppfører seg.
Sprites er faktisk ikke bare bilder, fordi vi har
kostymer også forbundet med sprites den slags
avgjøre hva sprite ser ut.
Og du kan ha mer enn én drakt for en gitt sprite.
>> Så på et tidspunkt under Lotteri-programmet, som vi skal vise
senere i dag under gjennomgang, kan du faktisk
endre kostyme av sprite din slik at den ser heller
litt annerledes eller helt annerledes.
Og så er det tre måter å lage en sprite i Scratch.
En, kan du tegne din egen i Scratch er
bygget i maling editor.
Du kan laste opp ditt eget bilde, kan du bruke en av Scratch er innebygd
seg, eller, det siste alternativet, får en tilfeldig sprite.
Nå, hvis du føler deg spesielt heldig, så jeg
ønsker deg velkommen til å prøve lykken og skaper en tilfeldig sprite.
>> Så alle de sprites er plassert på
scenen i Scratch.
Scenen - vi kan behandle det som lerret vår.
Og så alle de sprites er plassert på scenen.
Og dette stadiet, er hva det gjør kan alle sprites
å flytte rundt på den.
Og akkurat som sprites, har scenen også skript.
Og så disse skriptene, for å plassere dem på scenen -
det er virkelig nyttig når, sier, du har et skript som ikke
nøyaktig gjelder for en bestemt sprite, men heller
gjelder flere sprites eller bare generelt, noe
at du ønsker å gjøre.
Så du kan plassere disse skriptene på scenen i stedet, og at
ville være litt bedre design.
Nå, mens du kan ha flere sprites, er det godt å
husk at du bare kan ha én scene.
Men stadier har også bakgrunn.
I motsetning til kostymer, som spriter gjør, fasene har
bakgrunner.
Og igjen, kan du enten tegne din egen eller last opp dine egne
bilde som skal brukes som bakgrunn.
>> Så noen som har noen spørsmål før vi går videre?
OK.
Gjerne å avbryte meg hva under gjennomgang, og
Jeg er glad for å svare på eventuelle spørsmål du har.
OK.
Så når du starter sprite program, hva du skal
gjøre er du kommer til å klikke på den grønne flagg.
Men hvis du ikke koble noe til denne blokken rett
her, så ingenting er faktisk kommer til å skje.
Fordi, du ser, hva skriptene og scenen må
gjøre er å vite faktisk å svare på hendelsen -
det er hva vi kaller dem, events - av den grønne flagget
blir klikket.
Så du må faktisk legge blokker til sporet på
bunnen av den grønne flagget klikket blokk, og deretter
Programmet vil vite hva du skal gjøre og hvordan de skal reagere på
grønt flagg blir klikket.
>> Vel, hva kommer etter det?
Vel, vi har en mengde blokker i Scratch å bruke, og
hvor kjøttet, egentlig, av programmet ligger i disse
uttalelser.
Og så disse uttalelsene er beleilig
organisert etter farge.
Du har handlinger knyttet til bevegelse,
lyd, utseende, et cetera.
Og så kan du se at du kan navigere mellom dem i
faner i Lotteri-programmet.
Og så, mens du har andre ting som er bygget rundt det,
hva uttalelsene faktisk gjør er faktisk forteller den
sprites eller scenen å gjøre noe.
I motsetning til bare å si, OK, når du gjør dette,
uttalelser faktisk inneholder den virkelige kjøtt av det.
Si la oss ønsker å bare utføre en bestemt handling, sier
du bare vil katten til meow når en bestemt ting skjer.
Vi kan dra nytte av boolske, som du lærte i
forelesning en.
Og så disse er uttrykk som beregnes til
enten sant eller usant.
Og så disse er identifisert i Scratch ved -
du se vinkler på slutten av disse blokkene.
Og så har du en rekke forskjellige typer boolske.
Du har "er den mest blir presset ned", "gjør to pluss to
likestille til 5, "eller" er brukeren trykker ned en viss tast på
tastaturet? "
>> Nå kan du ikke bare bruke disse alene.
Hva du trenger å gjøre er å kombinere dem med en betingelse.
Så tilstanden er der under kontroll fanen i Scratch.
Og så de beleilig har en liten plassholder som
viser formen på blokken du trenger for å sette inn i den.
Så avhengig av konteksten av situasjonen, kan du velge
en boolsk og deretter plassere det inni din tilstand.
Og der har du en betinget utsagn.
Hvis du putter setningene i den blokken, da har du en
struktur satt opp, der en gang bestemt betingelse er oppfylt på
venstre, deretter utføre setningen.
Ja?
>> STUDENT: Hvis en variabel representerer et tall, kan du
bruke variabelen inni boolske som den grønne,
for eksempel?
ZAMYLA CHAN: Ja, det kan du.
Du kan dra og slippe variabelverdien inni
sirkulær form der.
>> Nå er en av fordelene med datamaskiner enorme kraft
og hastigheten som de kan utføre repeterende prosesser.
Og så, i stedet for, sier gjenta en instruksjon i
og igjen og igjen og faktisk skrive det ut - eller
i dette tilfellet, i Scratch, dra og slippe og
dra og slippe -
hva vi kan gjøre, er kapsle det i en loop.
Og så kan løkker brukes til enten utføre ting
uendelig med evig løkke, eller for et
angi antall ganger -
si, gjentar "Si hei" 10 ganger eller til en viss
betingelsen er sann.
Og så igjen, ser du at Scratch er antydet at når
du har en tilstand som "gjenta inntil", da den eneste
ting som vil passe inn der er en boolsk verdi.
OK.
>> Så nå vet vi at vi kan kapsle repeterende
prosesser inne i løkker.
Du kan se hvorfor noe sånt som dette ikke kan være ideelt.
Det passer ikke på lysbildet.
I hovedsak gjør det bare det samme om og om igjen
10 ganger, faktisk.
Den beveger seg 10 trinn, sier Hei, flytter 10 trinn, sier Hei.
Så nå kan du se at når vi har løkker, noe som
Dette er mye bedre.
Det er kortere, er det mindre, og det faktisk fullfører
samme.
Nå, i Scratch dette kan ikke gjøre mye av en forskjell, men
det sparer faktisk litt tid.
>> Så til variable uttrykk -
du faktisk kan bruke variabler og sette dem på innsiden av
forhold.
Som uttrykt rett der, ser du at vi har en variabel kalt
"Møte", og vi likhetstegn at for å se om
det er mindre enn 0.
Så variabler er i hovedsak vil jeg si,
containere for verdier.
I bunnen av, kan disse typer verdier enten være ord eller
de kan være tall.
Og så, med disse variablene, hva vi kan gjøre med dem er vi
kan sette sin verdi.
Så i det første eksemplet her har vi et eksempel på tekst
inneholder verdien "Hello, World!" I det andre eksemplet,
det er antatt at vi allerede har en variabel kalt
"Møte", og i så fall, vi endrer det ved tre.
Vi økes det med 3.
Og deretter i det siste eksemplet kan variablene dras
å bli satt i en boolsk uttrykk.
>> Nå, når du oppretter en variabel, hva du har å
bestemme er om du gjør variabelen for alle
sprites i Lotteri-programmet, eller for bare
spesifikk sprite der du har valgt når du gjør
variabelen.
Og så dette er en veldig viktig avgjørelse å ta.
Og det virkelig kommer ned til hva omfang du vil at
variabel å ha.
Så for eksempel, ville et eksempel på lokal omfanget være hvis du
velge bare for denne sprite å ha variabelen.
Så det ville bety at bare det sprite ville være i stand til å
tilgang til det variable.
Bare at sprite ville være i stand til å se det,
endre det, endre det.
Hvis du velger for å ha en global omfang -
så det er hvis du sier for alle sprites, hvis
du velger dette alternativet -
så det betyr at scenen så vel som alle de sprites
vil kunne se, endre og få tilgang til variabelen som
du har opprettet.
Eventuelle spørsmål så langt på variabler eller noe?
Ja.
>> STUDENT: For variablene, kan du ha to variablene
samme navn hvis de er på forskjellige sprites?
ZAMYLA CHAN: Så lenge de er lokale sprites ---
ah, ja, beklager.
Så spørsmålet var om du kan ha to variablene
samme navn i et program, og hvis du har to variabler med
samme navn, men er både lokale sprites, så en sprite,
katten har en variabel navn "counter", og to sprite, den
hund, har en variabel kalt "counter", så lenge som de
er både lokale sprites, da deres virkeområde ikke strekker til
resten av programmet.
Og så ingen av de andre sprites eller
stadiet vil bli forvirret.
OK.
>> Så jeg nevnte tidligere inngangspunkt da vi hadde
når grønn flagget klikket blokk.
Og så hva det er -
det sier OK, når hendelsen skjer at den grønne flagget er
klikket, dette er hva du bør gjøre.
Og så det er faktisk ikke det eneste arrangementet
som vi har i Scratch.
Vi har også andre hendelser.
Så vi har, for eksempel, når en tast på
tastaturet trykkes.
Og du kan faktisk velge bokstavene A til Z, 0
til 9 eller piltastene.
Og så har vi også andre hendelser, for eksempel når
sprite klikkes.
Og så når du starter med det, merker du nøkkelen trend
er at de bare har et spor på undersiden, og så
så det, igjen, legger nøkler deg i at ingenting over
blokken.
Du bygger fra det og under.
>> Nå sier, hva skjer hvis vi ønsker noen hendelse skal skje bare
når jeg ikke vet, en katt berører en bestemt del av
scenen eller noe sånt?
Vi har faktisk ikke har noen innebygd i
hendelse for å markere det.
Så det vi må gjøre er faktisk lage vårt eget arrangement.
Og det kalles kringkasting.
Så når du ønsker å signalisere at en viss har skjedd,
så du bruker - i kontrollen kategorien, er det en blokk kalt
"Kringkaste". Og så da, vil du skrive inn navnet på den
Dersom du ønsker å kringkaste, og deretter hvilken
sprite eller sprites -
du kan ha flere sprites reagerer på denne meldingen -
eller scenen må håndtere det, vil måtte
mottar det, vil ha å si, OK, jeg forstår at dette har
skjedde, så jeg kommer til å gjøre dette med det.
Og så når du sender en hendelse, er at med
forståelse av at enten at sprite eller annen sprite er
nødt til å motta denne hendelsen og svare.
>> Nå den siste konseptet før vi kommer inn et faktisk eksempel
av en Scratch programmet er tråder.
Så tråder er når datamaskinen utfører
samtidige prosesser samtidig.
Jeg kan garantere deg at alle av oss har tatt nytte av
trådene når vi vi ser en film på samme tid som
skrive et essay eller noe sånt.
Datamaskinen utfører flere ting samtidig
tid, akkurat som Scratch kan.
Så som du kan se i dette eksempelet, disse to skript kan
brukes for nøyaktig samme sprite, fordi disse
begynner Entry Point blokker kan faktisk brukes
multipler av ganger.
Jeg kan garantere deg at sannsynligvis den grønne flagg klikket blokk
vil være en av de mest populære
blokker i programmet.
Så her ser vi at når det grønne flagget er klikket, det er
en prosess som skjer, samt når den grønne flagget er
klikket, det er en egen prosess som skjer.
Og så Scratch vil kjøre disse to samtidig.
Og så bruker disse trådene, og vite at du faktisk kan
har mer enn én oppføring punkt -
selv om det er det samme inngangspunktet -
det kommer til å bli veldig nyttig hvis du ønsker å si,
skille forskjellige oppgaver fra hverandre.
OK.
Så la oss faktisk se inn et eksempel på en Scratch program.
>> OK.
Så jeg har allerede gjort et lite program for oss her.
Så jeg skal bare klikk på den grønne flagget for å starte og se
hva den gjør.
Så vi har en oransje fisk her -
en fisk sprite -
synes å bevege seg og deretter nullstille og gå tilbake.
Og så har vi en hai sprite.
Og dette hai sprite kan bevege seg, kan det rotere, kan det
svømme rundt.
OK.
Så det er litt moro.
Men vi kan definitivt legge mer til det.
For eksempel ser vi at når haien er i bevegelse, kan det
faktisk får av skjermen og nesten
forsvinner ut av syne.
Så vi ønsker å endre det, fordi vi ikke vil at
hai å unnslippe.
Og så la oss stanse vår manus og deretter redigere hai
skript, kanskje legge til noe.
Legg merke til at i dette bestemte sprite her, evig sløyfe
ender med en rett kant.
Det har ikke noen spor.
Så faktisk dette er fornuftig, fordi det er en evig loop.
Det utfører noe uendelig.
Så det vil ikke ta slutt.
Selv om det var noe under det, ville
aldri komme til det.
Så du er faktisk nødt til å innføre en tråd.
>> OK.
Så la oss legge til en annen script.
Så jeg kommer til å starte med dette innlegget punktet når grønn
flagg klikkes.
Så det jeg ønsker å gjøre er å sjekke kontinuerlig om
hai kommer til å berøre kanten.
Men jeg vet det, faktisk, under Motion det er en ryddig
liten blokk som sier, oh, hvis du er på kanten, sprett.
Så det vi ønsker å gjøre er kontinuerlig utføre.
Og så hva dette "hvis du er på kanten, bounce" gjør - det faktisk
allerede sjekker om jeg er på kanten, deretter sprette tilbake.
Så vi må finne en slags loop til kontinuerlig
utføre denne uttalelsen.
Så hvis vi ser under kontroll, har noen en idé om
hva sløyfe vi kanskje vil bruke?
Ja.
>> STUDENT: Den evig loop.
ZAMYLA CHAN: Akkurat, ja.
Den evig loop.
Så la oss spore det her, og så si, hvis du er på kanten, sprette.
Og så la oss se.
OK.
Så fisken beveger seg som per vanlig.
Og så, oh -
Nå haien ikke kan unnslippe, og spretter ut av skjermen.
Cool.
OK.
Så jeg var ute i.
Jeg L ° vernes - Ja?
>> STUDENT: Hvordan lager du som gjelder for hai når den beveger seg
til fisk?
ZAMYLA CHAN: Ah.
Så grunnen hvorfor bare haien spretter, i motsetning til
fisk også, fordi dette skriptet som vi skrev er inne
haien sprite.
Du skjønner, her oppe, er haien sprite valgt.
OK.
Så la oss legge til noe annet.
Jeg var å utforske på de ulike kostymer som
Scratch har, og jeg så denne søte lille hai-chomp.
Så jeg tenkte at, hei, vel, kanskje vi kan implementere
hai chomping, for eksempel når vi trykker plass.
Jeg bare kommer til å stoppe dette.
OK.
Ja.
>> STUDENT: Kan du bare vise - er at under Kostymer?
ZAMYLA CHAN: Å, ja.
Så jeg gikk under Kostymer, og da jeg så under import.
Og så her har Scratch en hel rekke kostymer som
du kan velge.
Og så så er det en hel haug med dyr, og deretter
hai har et par kostymer forbundet med det.
OK.
Så i dette skriptet her, jeg sjekker allerede kontinuerlig
i evig loop, OK, vel, hvis venstre pil trykkes,
så jeg vil rotere mot klokken.
Hvis høyre pil trykkes, vil jeg rotere med klokken.
Hvis pil opp trykkes, så jeg
ønsker å gå videre fremover.
Så hva vi kan gjøre er å legge bare til dette skriptet, i stedet for
legge til en separat, fordi dette er allerede sjekker inn
som tema taster blir trykket.
>> Så la oss legge til en som sier at hvis mellomromstasten - la oss bruke
mellomromstasten for å chomp ned.
Så disse mot venstre pilen trykkes, et cetera, disse er
i lysere blå.
Så la oss gå til Sensing lysere blå, og ser ned.
Oh, og her er en nøkkel plass trykket.
Så det vi ønsker å gjøre er å ha haien bryteren til
chomping ned kostyme.
Som har å gjøre med hvordan haien
ser, så vi går til utseende.
Og her har vi, beleilig, bytte til
kostyme hai-chomp.
Men når vi chomp ned, ønsker vi ikke haien til å være
chomping ned for alltid, så la oss legge til, OK, vel da,
etter at det chomps, vi vil ha det å bytte tilbake.
OK, så la oss se hva som gjør.
Så vi har det å bevege seg rundt.
OK.
Så vi har det chomping.
Det er chomping slags raskt skjønt, fordi i Scratch,
det utfører dem umiddelbart.
Så, la oss gå til kontroll og gjøre det setter sin
chomp, vente ett sekund.
Og her er det chomps ned litt lenger før det går
tilbake til sult sin.
>> OK.
Så jeg er ganske fornøyd med hai nå.
Men fisken, hva det ser ut til å være å gjøre - det er framdrift en
par trinn, faktisk, fem ganger.
Den beveger seg 50 trinn.
Og hva det gjør her i denne toppblokk her er jeg
sa OK, vel, det kommer til å gå til en bestemt verdi av x.
For å finne koordinatene, kan du faktisk bare musen over
skjermen, og deretter i bunnen -
rett over her -
det vil vise deg hva koordinatene er.
Så du kan dra nytte av det å legge inn koordinater
som du ønsker.
Og så hva denne uttalelsen her sier sier, OK,
vel, starter fisk på denne bestemte x-verdi og deretter
høyde av det kan endre.
Jeg er faktisk kommer til å plukke en tilfeldig høyde som fortsatt holder
innenfor rammen av scenen.
Og så her, hva jeg tar nytte av er
kringkasting hendelser.
Så du ser at dette hendelseshåndterer er ny fish1.
Så når fisken får den nye fish1 hendelse, vil det
utføre dette.
Og så ser du at etter den beveger seg fremover sitt sett beløp
ganger, så det sender faktisk
igjen, OK, nye fish1.
Men i stedet, hvor om la oss gjøre det slik at fisken bare
fortsetter til slutten av skjermen før den tilbakestilles,
i stedet for bare slags gå til sentrum av den.
Så i stedet for å si, gjenta fem ganger - fordi vi ikke
virkelig vet hvor mange ganger vil være nødvendig før det
når slutten av skjermen, la oss bruke noe annet.
>> Så jeg kommer til å skille ut dette, fordi vi
egentlig ikke ønsker dette.
Hvis du vil slette blokker i Scratch, hva du gjør er at du bare dra
den til venstre, slipp, og så det blir slettet.
Hvis du bestemmer deg for at du ikke ønsker å gjøre det, så kan du
alltid angre slettingen.
Men vi ønsker å bli kvitt dette.
Hva vi ønsker å gjøre er vi ønsker å holde på å flytte 50 trinn og
pause ett sekund til vi berører enden av skjermen.
Så kan noen oppdage en løkke som vi kanskje vil bruke den
gjentar en prosess akkurat før vi berører skjermen.
>> STUDENT: Gjenta til.
ZAMYLA CHAN: Jeg hørte "gjenta inntil", og det er riktig.
Så ja, dette tar gjenta inntil blokken også et -
men vi ser at dette gjentar til blokken er ikke helt
komplett, ikke sant?
Så vi trenger å si, OK, vel, gjenta inntil da?
Så vi sier, OK, vel, gjenta til fisken berører
kanten av skjermen.
Og så skal jeg fortelle deg at det er under Sensing.
Det er denne rørende Boolsk.
Og så kan du velge her hva du ønsker å være sjekker
at fisken er rørende.
Så her ønsker vi å si berøre kanten.
Og så ønsker vi å legge til denne tilbake igjen
Og så nå, hvis vi ser vår fisk går, når den berører
kant, vil den bevege seg tilbake igjen.
OK.
Så jeg er fornøyd med det.
Og la oss åpne HungryShark1.
>> OK, typen som en cooking show, jeg har lagt litt
flere funksjoner.
Så for eksempel, ser du at fisken nå er faktisk
gli ganske greit, i motsetning til før, da det var
slags flytting og stoppe, flytte og stoppe -
egentlig bare hoppe sett piksler.
Jeg så under Motion, fant dette gli uttalelse, og jeg
sa OK, i stedet for bare å flytte og stoppe, flytting
og stoppe, jeg kommer til å gli 70 enheter til høyre,
men bo på min samme y posisjon her.
OK.
Så vi har en hai som kan chomp.
Cool.
Men det kalles HungryShark, tross alt, så la oss få
hai spise fisk.
>> Så hvordan kan vi fortelle fisken eller fortelle haien at den har
chomped ned?
Hvordan kan vi kommunisere?
Ja.
STUDENT: På den andre kostyme av hai,
den fanger fisken.
ZAMYLA CHAN: Ja, akkurat.
Så vi vet at når vi bytter kostyme til
chomp, at vi har chomp ned.
Nå vil vi til slutt nødt til å sjekke.
Si at vi ønsker fisken å forsvinne når den spises.
Vi vil ha en eller annen måte kommunisere til fisken som
det må skjule, for eksempel, eller forsvinne fra
skjermen når den er blitt chomped ned på.
>> Så hva slags konsept, hva slags verktøy vi kan bruke til å
har haien kommunisere til fisken, OK,
Jeg har chomped ned?
STUDENT: Broadcasting.
ZAMYLA CHAN: Ja, akkurat, kringkasting en hendelse.
Så la oss gå til kontroll og la oss si sendingen.
Og la oss sende chomp.
OK.
Men når vi sender noe, er at med
antagelsen om at vi faktisk kommer til å ha noe
motta den.
Og så det kommer til å være fisk.
Så la oss si, når jeg får chomp.
Nå, når haien chomp ned bare en tom plass, gjør vi ikke
ønsker fisken å reagere på i det hele tatt.
Så la oss si, OK, vel, bare hvis haien berører
fisk på tidspunktet for chomp -
Det er da vi skal faktisk gjøre noe.
Så da kommer vi til å bruke tilstanden hvis, høyre,
fordi vi sjekker om noe er sant eller ikke.
Så hvis vi går tilbake til Sensing, så kan vi
bruke her, hvis rørende.
Og så her, velger vi haien.
Deretter under Looks, denne diskrete blokk -
som vil i utgangspunktet gjøre fisken forsvinner fra scenen.
Vi vil gjøre det skjule, men vi ønsker en annen fisk, ikke sant?
Vår hai er sulten.
Vi ønsker å gi det mer fisk.
Så da la oss også kringkaste en ny fisk igjen.
OK.
Så la oss se hva som gjør.
>> Cool.
Så det chomps ned og en annen fisk vises.
Men det er litt for rask for en annen fisk å gå.
Så la oss bare vente et sekund før vi
kringkaste en ny fisk.
OK.
Så dette er en ganske god inngåelse av et spill.
Men alle spillene trenger en score, ikke sant?
Så hva kan vi bruke til å holde score?
Ja.
STUDENT: Annet -
ZAMYLA CHAN: Yeah.
Akkurat.
Ja.
Så vi ønsker å holde styr på i utgangspunktet hvordan
mange fisk det er spist.
For å gjøre det, må vi gjøre en variabel.
La oss kalle det score.
Og så antagelig, siden dette er et spill som vi spiller,
Vi kommer til å ønske at fisken kunne -
si, når det spises det kan øke poengsummen eller
noe og deretter scenen vil trolig måtte gjøre
noe med sår også.
Så jeg kommer til å velge å gjøre dette til en global variabel og si
for alle sprites.
OK.
Så når vi ønsker å øke poengsummen?
Når en fisk har blitt spist.
Og så har vi allerede en prosess her som er å håndtere
med fisken blir spist.
Så la oss legge denne uttalelsen her -
endre Resultat av 1.
Cool.
Så når du spiser en fisk, poengsummen øker.
>> OK.
Så sier jeg lei av dette spillet.
Jeg stoppe.
Og så, oh, jeg ønsker å komme tilbake til spillet.
Jeg ønsker å starte et nytt spill.
Vel, poengsummen fortsatt 3, selv om jeg er
spille et nytt spill.
Vi vet egentlig ikke ønsker å score aldri å nullstille, ikke sant?
Så la oss legge en uttalelse når spillet startet i
scenen for å si, OK, vel, vi ønsker å nullstille score.
Så her har vi satt variabelen poengsummen til 0.
Og så nå, når du starter et spill, poengsummen
vil starte på 0.
Cool.
OK.
Så nå, la oss gå videre til HungryShark2.
>> Så jeg har gjort litt mer nå, og det jeg har gjort er
høyre klikket på fisken sprite.
Jeg ønsket mer fisk, og så jeg klikket duplikat, og det gjorde
nytt sprite identisk med den som en, og også kopieres i alle
skript også.
Så da denne fish2 er i hovedsak identisk med
fish1, bortsett fra i stedet for å starte på den venstre og
flytte rett, den starter på høyre og trekk igjen.
Og da jeg valgte også en ny drakt for det.
Så jeg fant en annen drakt som var en flekket fisk, og jeg
var som kult, dette ser giftig, så la oss late
at dette er en giftig fisk.
Og så sa jeg, OK, vel, i stedet for å spise
giftig fisk og ha poengsummen din øker, jeg faktisk
vil den skal avta.
Så her har vi poengsum reduseres med 1 når
hai spiser det.
Og så, jeg likte kostymer som scratch
gitt, og jeg så, og da jeg fant shark's -
det så ut som en syk hai.
Og så så jeg redigerte den jeg gjorde det grønne.
Og jeg var som kult, det er en syk hai.
OK.
>> Så la la oss legge til skriptet en slags måte å gjøre det
hai bryter til å bli syk når det
spiser en forgiftet fisk.
OK.
Så fordi vi kopierte alle skript fra vår opprinnelige
fisken i giften fisk, har det allerede denne sprite her
som sier, når jeg chomped ned, er jeg
faktisk chomped ned?
Så vi kan dra nytte av dette for å kommunisere til
hai, oh, vel, du nettopp spiste en gift fisk.
Du er syk.
Og så dette ville være hva slags handling?
Hva ville være ønsker å gjøre?
Kringkastes.
Ja, akkurat.
Så la oss sendingen.
La oss kalle det hai syk.
OK.
Så nå, haien, selvsagt, skal være den som er
mottar denne hendelsen.
Så la oss legge til når jeg får haien være syk.
OK.
Så vi vet vi har denne drakten -
haien er syk.
Og så vet vi fra før at vi på en måte setter
når vi kan stoppe litt før du bytter tilbake.
Ja?
>> STUDENT: Hvordan kopierer du skript fra
en sprite til en annen?
ZAMYLA CHAN: Ah.
Så i dette tilfellet, når jeg bare kopierte den sprite, til
kopiere ett skript til en annen sprite, hva jeg gjorde her var
bare si duplikat, og det faktisk gjort en hel ny
sprite med alle skript inkludert.
Men si at du ønsker å bare kopiere en viss skript til et annet
sprite, så hva du ville gjøre er faktisk bare dra dette,
sveve over en annen script, og nå her det dupliseres det.
I dette tilfellet, den allerede hadde det, så vi kan bare slette
det igjen.
Men for å kopiere ett skript til et annet, hva du gjør er bare
dra det til de andre sprites.
OK.
>> Så vi er tilbake på hai være syk.
Så det er mottatt hai er syk, og det sier, OK, vel,
når jeg er syk, jeg kommer til å bytte til kostymet mitt som sier
"Hai syk", og nå, la oss bare legge en vente til
verdsette den grønne.
Og så skal vi være sulten igjen, så vi kan bare
bytte tilbake til hai blir sulten.
OK.
Så la oss spise denne lilla fisk.
Det er fint.
Godt spørsmål.
Hva har skjedd med disken?
OK.
Så vi har satt score til 0 her, men dette score - hva
Dette merket betyr det skjuler eller unhides variabelen
fra skjermen.
Men hva vi kan gjøre i stedet for fjerne merket eller sjekke det -
Vi kan faktisk ha denne blokken her sier "vise eller skjule
variabelen. "Så la oss sørge for at hver gang vi starter
spillet at variabelen er vist.
>> OK.
Så nå variabelen er vist.
Vi spiser en gift fisk, og vi får syk.
Cool.
OK.
Så nå er det rart for et spill for oss å ha negative
poeng, ikke sant?
Så det holder på å spise disse og det er som -
så hva når vi får negative, hvis vi har spist for
mange giftig fisk, game over - hai er for syk.
OK.
Så det vi må gjøre er vi må
kringkaste noen hendelse -
game over.
Slik at vi kunne gjøre dette på mange måter, faktisk.
Vi kunne ha et sted i scenen et script som
kontinuerlig sjekker poengsummen negative?
Er poengsummen negative?
Hvis ja, så vi kringkaste denne hendelsen.
>> Så det er én måte å gjøre det.
Eller vi kunne dra nytte av det faktum at vi vet at
eneste måten at poengsummen din kan være negativt er når du spiser en
giftig fisk, ikke sant?
Fordi når du spiser annen fisk, din
Resultat kommer til å øke.
Så det er ingen bruk i å sjekke om det skal være
game over eller ikke.
Så dette er en lignende prosess her.
Så vi kan faktisk bare legge til dette "når jeg mottar hai
syk. "
Så sier vi legge denne tilstanden.
Vi ønsker å si, hvis poengsummen er mindre enn 0.
Så vi kommer til å gå til Operatører, vi kommer til å bruke
dette mindre enn én, vi kommer til å dra vår
score her, sier 0.
Og så, hvis poengsummen er 0, så vi ønsker å kringkaste
noe som kalles game over.
>> OK.
Så sier vi har game over.
La oss flytte den her eller noe.
Vel, vi ønsker haien bare å gå tilbake til å være sulten hvis
spillet kan fortsatt bli spilt.
Så i stedet for å bruke en "hvis" vi vil bruke
en "if else" konstruere.
Så hva dette betyr - det sier, OK, så hvis denne tilstanden er
sant, så gjør dette, men hvis det er falsk så gjør dette.
Så la oss legge om poengsummen er mindre enn 0, så du
kringkaste game over, men hvis ikke - hvis
score er fortsatt positiv -
deretter gå tilbake til å være sulten.
OK.
Cool.
Så nå som vi har denne game over hendelsen, vil vi ha
noen måte å reagere på det.
>> Så la oss gjøre et nytt manus som sier "når jeg mottar spillet
over. "Og hva har vi her under kontroll er faktisk dette
stoppe all knappen, og så det i utgangspunktet etterligner deg klikke
det røde stoppskiltet her.
Så la oss ta haien stopp.
Og så ønsker vi også fisken å stoppe, så la oss dra og
kopiere den i.
Vi ønsker all fisken til å stoppe.
Og så la oss få scenen stopp også.
OK.
Så svømmer rundt, spiser vi en fisk, og
så programmet fryser.
Jeg klikke ned, men jeg kan faktisk ikke gjøre noe.
OK, men la oss si at vi ikke ønsker å minne brukeren om at
de har en negativ verdi, for eksempel, så kan vi, for
eksempel skjule variabelen fra skjermen.
Så når scenen får game over, så vil det skjule
variabelen score.
OK.
Så la oss spise en mer fisk.
Og så scorer forsvinner, og du trenger bare denne skjermen.
>> OK.
Så det er en ganske anstendig spill, og hvis du hadde mer
tid, så du kunne til slutt legge
flere og flere skript.
Og så da, jeg har lagt noen flere fisk, gjort dem videre
ved ulike hastigheter, og deretter når haien spiser
giftig fisk, sier det faktisk, "Blech!"
Og så hva jeg gjorde er jeg lagt til en ny bakgrunn til
scenen - et spill over bakgrunnen.
Og så hva scenen gjør i spillet over hendelsen
håndtering er den bytter til bakgrunnen av game over
bakgrunn.
Og i tillegg, gjemte jeg alle sprites fra scenen, slik at
bare spillet over bakgrunnen ble vist.
Det er et par andre små filer som jeg har lagt,
for eksempel, før når vi endte vårt program, så vår
hai, neste gang vi startet, ville starte opp i
den posisjonen samt.
Hva jeg lagt er når det grønne flagget er klikket, så
haien går tilbake til opprinnelsen og deretter vender mot
høyre, slik at hver gang, har du en
hai starter der.
>> Så du kan eksperimentere in Motion og ting som at
bare for å legge små tingene som gjør
spillet litt mer polert.
Har noen spørsmål om HungryShark?
Cool.
OK.
Så det er et eksempel på noe som du kan gjøre
i Scratch bruker alle verktøyene som vi diskuterte tidligere.
Så jeg også inkludert i walkthrough lysbilder.
Du vil se dem senere.
Det er bare en oversikt over de prosesser som vi gjorde -
framdrift fra HungryShark0 hele veien til vårt endelige.
En
Ja.
Men det er om det.
Jeg skal bo bak hvis dere ønsker å
spør noen flere spørsmål.
Dette var Walkthrough 0.
Takke dere alle for å komme, og jeg vil se deg på Walkthrough en.