[Powered by Google Translate] ZAMYLA CHAN: Oke.
Hallo, iedereen, en welkom bij Walkthrough 0.
Mijn naam is Zamyla, en ik zal wat leidt deze
walkthroughs dit jaar.
In CS50, wordt elk probleem set vergezeld van een walkthrough
waarbij we gaan door het probleem van de week set, praat het
door, praat hoe te beginnen, bespreken verschillende
technieken en tips om echt te breken het probleem set in
sommige beheersbaar beten.
Ik ben ook erg blij om vragen te beantwoorden die u
hebben het probleem set.
Zonder verdere omhaal, ik ben blij dat je hier bent, of u nu
hier in persoon of tuning in online.
Laten we beginnen.
>> Dus de eerste p-set in CS50 -
eigenlijk, we zijn niet van plan om in te typen en machine
code spul helemaal nog niet.
We zijn eigenlijk gaat worden met behulp Scratch, dat is een
programma dat ons in staat stelt om te doen wat slepen en neerzetten
programmering.
En hoewel we niet aan het typen bent, laat het ons werkelijk om
verkennen enkele van de fundamentele concepten die
zullen we gebruik maken van alle door CS50.
Nu, een aantal van deze concepten zijn
hier vermeld in de Toolbox.
Wat ik zou willen doen voor elke walkthrough is presenteren u alle
met een set van tools die u kunt gebruiken voor de walkthrough.
En dus, maak je geen zorgen.
We gaan over al deze voorwaarden en alle van deze
theorieën tijdens de walkthrough.
Nu, of je uiteindelijk met behulp van elk van deze instrumenten, of gewoon
een aantal van hen, het is echt goed om te weten wat je uitgerust
met kunnen het probleem set pakken.
>> Dus in Scratch, de eerste lingo dat je moet weten is wat
een sprite is.
Dus elk voorwerp of elk karakter, of het nu een kat een hond
of een bal, wordt een sprite.
En dus, als ik wil, laten we zeggen, twee katten - al dan niet zijn
identieke -
Ik moet twee aparte sprites in Scratch te maken.
En zo sprites hebben de scripts gekoppeld.
Scripts zijn eigenlijk wat je gaat worden gebouw -
slepen en neerzetten - met uw blokken.
En dus wat scripts doen is een soort van vast te stellen en te bepalen hoe de
de sprite zich gedraagt.
Sprites zijn niet echt alleen maar beelden, want we hebben
kostuums ook in verband gebracht met de sprites dat soort
bepalen wat de sprite eruit ziet.
En u kunt meer dan een kostuum voor een bepaalde sprite.
>> Dus op een gegeven moment tijdens uw Scratch-programma, zoals we zullen zien
later vandaag tijdens de walkthrough, kan je eigenlijk
veranderen het kostuum van je sprite zodat het lijkt of
iets anders of anders.
En zo zijn er drie manieren om een ​​sprite Scratch.
One kunt u trek uw eigen in Scratch's
gebouwd in verf editor.
U kunt uw eigen afbeelding te uploaden, gebruik dan een van Scratch's ingebouwde
degenen, of, de laatste optie, krijg je een willekeurige sprite.
Nu, als je voelt bijzonder geluk, dan heb ik
heten u welkom om uw geluk te beproeven en een willekeurige sprite te creëren.
>> Dus alle sprites worden gebracht
het podium in Scratch.
Het podium - we kunnen behandelen als onze canvas.
En dus alle sprites zijn geplaatst op het podium.
En dit stadium, is wat het doet maakt het mogelijk alle sprites
te bewegen op.
En net als sprites, het podium is ook scripts.
En dus deze scripts, om ze op het podium -
het is echt handig als, zeg, heb je een script dat niet doet
precies betrekking op een specifieke sprite, maar
betrekking op meerdere sprites of gewoon in het algemeen iets
die je wilt doen.
Zo kunt u deze scripts in plaats plaatsen op het podium, en dat
zou iets beter ontwerp.
Nu, terwijl u kan meerdere sprites, het is goed om
Onthoud dat je maar een stap te hebben.
Maar stadia hebben ook achtergronden.
In tegenstelling tot kostuums, zoals sprites te doen, stappen hebben
achtergronden.
En nogmaals, kunt u trek uw eigen of upload je eigen
beeld te gebruiken als achtergrond.
>> Dus heeft iemand nog vragen voordat we verder gaan?
OK.
Voel je vrij om me te stoppen met wat tijdens de walkthrough, en
Ik ben blij zijn om eventuele vragen te beantwoorden.
OK.
Dus als u uw sprite programma te starten, wat je gaat om te
doen is je gaat naar de groene vlag te klikken.
Maar als je niet iets goed aansluiten op dit blok
hier, dan is er niets is eigenlijk gaat gebeuren.
Want, ziet u, wat de scripts en het podium moeten
eigenlijk doen is weten om te reageren op het evenement -
dat is wat wij noemen, evenementen - van de groene vlag
wordt geklikt.
Dus je moet eigenlijk blokken hechten aan de groef aan de
onderkant van die groene vlag geklikt blok, en vervolgens de
programma zal weten wat te doen en hoe te reageren op de
groene vlag wordt geklikt.
>> Nou, wat komt daarna?
Nou, we hebben een overvloed aan blokken in Scratch te gebruiken, en
waar het vlees, echt, van uw programma ligt in deze
verklaringen.
En zo deze uitspraken zijn handig
georganiseerd door kleur.
Je hebt acties met betrekking tot beweging,
geluid, uiterlijk, et cetera.
En zodat je kunt zien kun je tussen hen navigeren in de
tabbladen in uw Scratch-programma.
En dus, terwijl je andere dingen omheen gebouwd,
wat de verklaringen eigenlijk doen is eigenlijk vertelt het
sprites of het podium om iets te doen.
In tegenstelling tot alleen maar te zeggen, OK, als je dit doet, de
verklaringen daadwerkelijk bevatten de echte vlees van het.
Laten we zeggen dat u slechts het uitvoeren van een bepaalde actie, zeg
u alleen de kat te miauwen als een bepaald iets gebeurt.
Wij kunnen gebruik maken van Booleans, wat je geleerd hebt in
les een.
En dus dit zijn uitdrukkingen die te evalueren
waar of onwaar.
En dus deze worden geïdentificeerd in Scratch door de -
zie je de hoeken aan het eind van die blokken.
En dus heb je een verscheidenheid van verschillende types van Booleans.
U heeft "is het meest wordt ingedrukt," "doet 2 plus 2
gelijk aan 5 "of" de gebruiker op een zeker toets
het toetsenbord? "
>> Nu kun je niet zomaar alleen gebruik maken van deze.
Wat u moet doen is combineren met een voorwaarde.
Dus de conditie is er onder de controle tab in Scratch.
En zodat ze gemakkelijk hebben een kleine tijdelijke aanduiding die
toont de vorm van het blok dat je nodig hebt om erin steekt.
Dus afhankelijk van de context van de situatie, kunt u kiezen
een Booleaanse en plaats deze in uw conditie.
En daar heb je een voorwaardelijke verklaring.
Als je instructies binnen dat blok, dan heb je een
structuur opgezet, waarbij een keer een bepaalde voorwaarde is voldaan op
links, U voert dan de verklaring.
Ja?
>> STUDENT: Als een variabele staat voor een nummer, kunt u
gebruik maken van de variabele binnen de Booleaanse, net als de groene,
bijvoorbeeld?
ZAMYLA CHAN: Ja, dat kan.
U kunt slepen en neerzetten de variabele waarde in de
cirkelvorm zijn.
>> Nu een van de voordelen van computers is de enorme macht
en de snelheid waarmee ze zich herhalende processen uitvoeren.
En dus, in plaats van bijvoorbeeld een herhaalde instructies via
en over en weer en eigenlijk te typen dat uit - of
in dit geval, in Scratch, slepen en neerzetten en
slepen en neerzetten -
wat we kunnen doen is te kapselen in een lus.
En dus kunnen lussen worden gebruikt voor de uitvoering dingen
oneindig altijd een lus of een
ingestelde aantal keren -
zeggen, herhaalt u "zeggen hi" 10 keer of totdat een bepaalde
voorwaarde wordt voldaan.
En dus nogmaals, zie je dat Scratch is zinspeelde dat wanneer
u een aandoening zoals "herhalen tot," dan is de enige
ding dat past binnen is er een Booleaanse waarde.
Oke.
>> Dus nu weten we dat we kunnen repetitieve kapselen
processen binnenkant van lussen.
U kunt zien waarom zoiets als dit misschien niet ideaal.
Het past niet op de dia.
In wezen, het doet precies hetzelfde over en weer
10 keer, zelfs.
Het beweegt 10 stappen, zegt hallo, 10 stappen beweegt, zegt hallo.
Dus nu kun je zien dat als we eenmaal loops hebben, iets als
dit is een stuk beter.
Het is korter, het is kleiner, en het daadwerkelijk voltooit de
hetzelfde.
Nu, in Scratch op deze wijze niet veel van een verschil, maar
het bespaart u eigenlijk wat tijd.
>> Zodat op de variabele expressie -
kunt u daadwerkelijk gebruik maken van variabelen en zet ze binnen in
voorwaarden.
Zoals daar uitgedrukt, zie je we hebben de naam van een variabele
"Tegen te gaan," en we zijn gelijk te dat om te zien of
het is minder dan 0.
Dus variabelen zijn in wezen, zou ik zeggen,
containers voor waarden.
In Scratch, kan dit soort waarden ofwel woorden of
ze kunnen getallen.
En zo, met deze variabelen, wat we kunnen doen met hen is dat we
kunnen hun waarde.
Dus in de eerste voorbeeld hebben we het voorbeeld van tekst
met de waarde "Hello, World!" In het tweede voorbeeld,
het is verondersteld dat we al met de naam van een variabele hebben
"Tegen" en in dat geval we veranderen door 3.
We verhogen het door 3.
En in het laatste voorbeeld kan de variabelen worden gesleept
te worden in een Booleaanse expressie.
>> Nu, als je een variabele te maken, wat je moet
beslissen is of u de variabele voor alle te maken
sprites in uw Scratch programma, of voor alleen de
specifieke sprite waarin u hebt geselecteerd bij het maken van
de variabele.
En dus dit is een zeer belangrijke beslissing te maken.
En het komt echt neer op wat ruimte u wilt dat de
variabele hebben.
Dus bijvoorbeeld, zou een voorbeeld van slechts plaatselijke betekenis zijn als je
kies gewoon voor deze sprite aan de variabele hebben.
Dat houdt in dat alleen die sprite zou kunnen
toegang tot die variabele.
Alleen dat sprite in staat zou zijn om het te zien,
veranderen, aan te passen.
Als u kiest voor een mondiale reikwijdte hebben -
dus dat is als je zegt voor alle sprites, indien
u die optie -
dan betekent dat het podium, evenals alle van de sprites
kunnen zien, wijzigen, en dat toegang tot die variabele
die u hebt gemaakt.
Eventuele vragen tot nu toe op variabelen of zo?
Ja.
>> STUDENT: Voor de variabelen, kunt u twee variabelen van
dezelfde naam als ze op verschillende sprites?
ZAMYLA CHAN: Zolang ze lokaal sprites ---
ah, ja, sorry.
Dus de vraag was of u kunt twee variabelen hebben van
dezelfde naam in een programma en als u twee variabelen met
dezelfde naam, maar zijn zowel lokaal als sprites, dus sprite een,
de kat, heeft een variabele naam "teller", en sprite twee, de
hond, heeft een variabele met de naam "teller", zolang deze
worden zowel lokale als sprites, dan is hun reikwijdte strekt zich niet uit tot
de rest van het programma.
En dus geen van de andere sprites of de
fase zal in de war raken.
Oke.
>> Dus ik al eerder de ingang toen we de
wanneer groene vlag geklikt blok.
En dus wat dat is -
het zegt, OK, als de gebeurtenis dat de groene vlag is
geklikt, dit is wat je moet doen.
En dus dat is niet echt het enige evenement
die we hebben in Scratch.
We hebben ook andere evenementen.
We hebben dus bijvoorbeeld nadat een van
het toetsenbord indrukt.
En je kon eigenlijk kiezen voor de letters A tot en met Z, 0
tot en met 9, of met de pijltoetsen.
En dan hebben we ook nog andere gebeurtenissen, zoals wanneer uw
sprite wordt geklikt.
En dus wanneer je begint met dat merk je het belangrijke trend
is dat ze slechts een groef aan de onderzijde, dus en
dan dat, nogmaals, toetsen die u in dat er niets hecht boven
dat blok.
Je bouwt van die en lager.
>> Nu, laten we zeggen, wat gebeurt er als we willen een bepaalde gebeurtenis gewoon gebeuren
wanneer, ik weet het niet, een kat raakt een bepaald deel van
het podium of iets dergelijks?
We eigenlijk hebben geen ingebouwde
Indien dat betekenen.
Dus wat we moeten doen is eigenlijk onze eigen evenement.
En dat heet omroep.
Dus als je wilt om aan te geven dat een bepaalde gebeurd is,
dan gebruik je - in de controle tabblad, is er een blok genoemd
"Uitgezonden." En zo dan, zult u typt in de naam van de
gebeurtenis die u wilt uitzenden, en dan afhankelijk van welke
sprite of sprites -
kunt u meerdere sprites te reageren op dit bericht -
of het stadium moet het te behandelen, moet
ontvangen, zal moeten zeggen, OK, ik begrijp dat dit heeft
gebeurd, dus ik ga dit doen.
En dus wanneer u een evenement uit te zenden, dat is met de
verstande dat elke dat sprite of een andere sprite is
gaat te hebben om die gebeurtenis te ontvangen en te reageren.
>> Nu, de laatste begrip voordat we in een echte voorbeeld
van een Scratch programma draden.
Dus vragen is wanneer uw computer wordt uitgevoerd
gelijktijdige processen tegelijkertijd.
Ik garandeer u dat wij allen gebruik hebben gemaakt van
onderwerpen als we dat we een film kijken op hetzelfde moment als
het typen van een opstel of iets dergelijks.
De computer is het uitvoeren van meerdere dingen tegelijk
tijd, net als Scratch kan.
Dus zoals je kunt zien in dit voorbeeld, deze twee scripts kunnen
worden gebruikt voor exact hetzelfde sprite, omdat deze
begin ingangspunt blokken ook daadwerkelijk gebruikt
veelvouden keren.
Ik garandeer u dat waarschijnlijk de groene vlag blok geklikt
wordt een van de meest populaire
blokken in uw programma.
Dus hier zien we dat wanneer de groene vlag wordt geklikt, is er
een proces gaande, en wanneer de groene vlag
geklikt, er is een apart proces gaande is.
En zo Scratch zal draaien deze twee op hetzelfde moment.
En dus het gebruik van deze draden, wetende dat je daadwerkelijk kunt
meer dan een entry point -
ook al is het hetzelfde kantoor, -
het gaat pas echt handig als je wilt, zeg,
scheiden verschillende taken van elkaar.
Oke.
Dus laten we eigenlijk kijken naar een voorbeeld van een Scratch-programma.
>> OK.
Dus ik heb al een klein programma voor ons hier.
Dus ik ga gewoon op de groene vlag om te starten en te zien
wat het doet.
Dus we hebben een oranje vis hier -
een vis sprite -
lijkt te verplaatsen en opnieuw in te stellen en terug te gaan.
En dan hebben we een haai sprite.
En deze haai sprite kan bewegen, hij kan draaien, het kan
zwemmen.
OK.
Dus dat is wel leuk.
Maar we kunnen zeker meer toevoegen aan die.
Zo zien we dat wanneer de haai in beweging is, kan het
daadwerkelijk krijgen van het scherm af en bijna
uit het zicht verdwijnen.
Dus we willen dat veranderen, omdat we niet willen dat de
haai te ontsnappen.
En dus laten we stoppen met onze script dan en bewerk de haai
scripts, misschien iets toevoegen.
Merk op dat in dit sprite hier de Forever Loop
eindigt met een rechte rand.
Het heeft geen groef.
Dus in feite is dit zinvol, want het is een eeuwig lus.
Het is het uitvoeren van iets oneindig.
Dus het zal nooit eindigen.
Zelfs als er iets eronder, zou
nooit naar dat.
Dus je bent eigenlijk gedwongen om een ​​draad te introduceren.
>> Oke.
Dus laten we voegen een ander script.
Dus ik ga om te beginnen met dit punt toegang van wanneer groene
vlag wordt geklikt.
Dus wat ik wil doen is voortdurend controleren of de
haai gaat worden het aanraken van de rand.
Maar ik weet dat, eigenlijk, onder Motion is er een nette
blokje dat zegt, oh, als aan de rand, bounce.
Dus wat we willen doen is uit te voeren continu.
En wat dit "als op rand, bounce" doet - het eigenlijk
reeds controleert als ik op de rand, dan terug stuiteren.
Dus moeten we een soort van lus om continu zoeken
voeren deze verklaring.
Dus als we kijken onder controle is, heeft iemand nog een idee van
wat loop we zouden willen gebruiken?
Ja.
>> STUDENT: De eeuwig lus.
ZAMYLA CHAN: Precies, ja.
De eeuwig lus.
Dus laten we volgen dat hier, en dan zeggen, indien aan de rand, stuiteren.
En dan laten we eens kijken.
Oke.
Dus de vis in beweging is zoals gewoonlijk.
En dan, oh -
nu de haai niet kan ontsnappen en stuitert van het scherm af.
Cool.
Oke.
Dus ik was op zoek inch
Ik kan niet - ja?
>> STUDENT: Hoe maak je die van toepassing zijn op de haai als het beweegt
de vis?
ZAMYLA CHAN: Ah.
Dus de reden waarom alleen de haai stuitert, tegenover
vis ook, omdat dit script, dat we schreven zich in
de haai sprite.
Je ziet op, hier is de haai sprite geselecteerd.
Oke.
Dus laten we toe iets anders.
Ik was het verkennen van de verschillende kostuums die
Scratch heeft, en ik zag dit schattige kleine haai-chomp.
Dus ik dacht dat, he, goed misschien, kunnen we het werktuig
haai chomping, bijvoorbeeld, als we druk op de spatiebalk.
Ik ga gewoon om dit te stoppen.
Oke.
Ja.
>> STUDENT: Kun je zien het - is dat onder Kostuums?
ZAMYLA CHAN: Oh, ja.
Dus ik ging onder Kostuums, en toen keek ik onder Importeren.
En dus even, Scratch heeft een hele reeks kostuums die
u kunt kiezen.
En dus dan is er een hele hoop dieren, en vervolgens de
haai heeft een paar kostuums die ermee verbonden zijn.
OK.
Dus in dit script hier, ik ben al aan het controleren continu
in de eeuwigheid lus, OK, goed, als de pijl naar links wordt gedrukt,
dan wil ik draaien tegen de klok in.
Als de pijl naar rechts wordt gedrukt, ik wil met de klok mee te draaien.
Als de pijl omhoog wordt gedrukt, dan zal ik
willen verder moet.
Dus wat we kunnen doen is gewoon toe te voegen aan dit script, in plaats van
het toevoegen van een aparte, want dit is al de check-in
het thema van die toetsen worden ingedrukt.
>> Dus laten we voegen er een die zegt dat als de spatiebalk - laten we gebruik maken van de
spatiebalk om chomp naar beneden.
Dus deze belangrijke pijl naar links drukt, et cetera, zijn dit
in de heldere blauwe.
Dus laten we naar Sensing de heldere blauwe, en kijk naar beneden.
Oh, en hier is een ingedrukte toets ruimte.
Dus wat we willen doen is de haai schakelaar in de
chomping naar beneden kostuum.
Dat heeft te maken met hoe de haai
ziet er, dus we gaan naar Looks.
En hier hebben we, gunstig, overschakelen naar
kostuum haai-chomp.
Maar als we chomp naar beneden, we willen niet dat de haai te zijn
chomping voor eeuwig, dus laten we toe te voegen, OK, goed dan,
nadat het Chomps, we willen dat het weer in te schakelen.
OK, dus laten we eens kijken wat dat doet.
Dus we hebben het bewegen.
OK.
Dus we hebben het chomping.
Het is chomping soort van snel maar, omdat in Scratch,
het is het uitvoeren van hen onmiddellijk.
Zo dan, laten we gaan naar Control en maken het op prijs stellen haar
chomp, wacht een seconde.
En hier Chomps in een wat langer voordat het gaat
terug naar zijn honger.
>> OK.
Dus ik ben best tevreden met de haai nu.
Maar de vis, wat het lijkt te doen - het is vordert een
paar stappen in feite vijf keer.
Het beweegt 50 stappen.
En dan wat het hier doet in dit bovenste blok is hier ben ik
zeggende: OK, nou, het gaat om naar een bepaalde waarde van x.
Om de coördinaten te vinden, kunt u eigenlijk alleen maar de muis over
het scherm, en vervolgens in de bodem -
rechts over hier -
het zal je laten zien wat de coördinaten zijn.
Dus u kunt daar gebruik van maken voor het invoeren van de coördinaten
die u wilt.
En dus wat deze uitspraak hier zegt zegt, OK,
goed, de vis begint bij deze bepaalde x-waarde en vervolgens de
hoogte kan veranderen.
Ik ben eigenlijk naar een willekeurige hoogte die nog steeds blijft halen
binnen de beperkingen van het podium.
En dus even, wat ik gebruik te maken van is
uitzenden evenementen.
Zo zie je maar dat dit event handler is nieuw fish1.
Dus wanneer de vis het nieuwe fish1 gebeurtenis ontvangt, het zal
voeren deze.
En dan zie je dat na het naar voren beweegt haar vast bedrag
keren, dan zendt eigenlijk
nogmaals, OK, nieuwe fish1.
Maar in plaats daarvan, wat dacht je van laten we het zo maken dat de vis alleen
blijft tot het einde van het scherm voor het reset,
plaats van soort naar het midden.
Dus in plaats van te zeggen, herhaal vijf keer - omdat we niet
echt weten hoe vaak nodig zal zijn tot het
bereikt het einde van het scherm, laten we gebruik maken iets anders.
>> Dus ik ga om dit uit te scheiden, omdat we
niet echt willen.
Voor het wissen van blokken in Scratch, wat je doet is je gewoon slepen
naar links, release, en dan wordt verwijderd.
Als u besluit dat u niet wilt dat te doen, dan kunt u
altijd verwijdering ongedaan maken.
Maar we willen om zich te ontdoen van deze.
Wat we willen doen is dat we willen blijven bewegen 50 stappen en
pauzeren een seconde ingedrukt tot raken we aan het einde van het scherm.
Dus kan iemand ter plaatse een lus die we zouden willen dat gebruiken
herhaalt een proces enkel tot we het scherm aanraakt.
>> STUDENT: Herhaal tot.
ZAMYLA CHAN: Ik hoorde 'herhalen tot, "en dat is juist.
Dus ja, dit herhalen tot blok neemt ook een -
maar we zien dat dit herhaal tot blok is niet helemaal
compleet, toch?
Dus we moeten zeggen, OK, goed, herhalen tot wanneer?
Dus we zeggen, OK, goed, herhalen totdat de vis is het aanraken van de
rand van het scherm.
En dus ik zal je vertellen dat dat onder Sensing.
Er is een ontroerend Boolean.
En zodat u hier kunt selecteren wat u wilt het controleren
dat de vis raakt.
Dus hier, we willen zeggen tegen de rand.
En dan willen we dit terug toe te voegen in
En nu, als we kijken naar onze vis te gaan, als deze tegen de
rand, zal het weer terug te gaan.
Oke.
Dus ik ben blij met dat.
En laten we geopend HungryShark1.
>> OK, als een soort van kookprogramma, voegde ik een beetje
meer functies.
Dus bijvoorbeeld, zie je dat de vis nu eigenlijk is
glijden zonder problemen, in tegenstelling tot vroeger, toen het
soort beweegt en weer stilstaat, beweegt en weer stilstaat -
in wezen gewoon springen set pixels.
Ik keek onder Motion, vonden dit glijden verklaring, en ik
zei, OK, in plaats van alleen beweegt en weer stilstaat, beweegt
en stoppen, ik ga 70 eenheden glijden naar rechts,
maar bij mij dezelfde y-positie hier.
Oke.
Dus we hebben een haai die kan chomp.
Cool.
Maar het is wel HungryShark immers, dus laten we de
haai eet de vis.
>> Dus hoe kunnen we vertellen de vis of vertel de haai die het heeft
chomped beneden?
Hoe kunnen we communiceren?
Ja.
STUDENT: Op de tweede kostuum van de haai,
het vangt de vis.
ZAMYLA CHAN: Ja, precies.
Dus we weten dat wanneer we overschakelen het kostuum van de
chomp, dat we chomp naar beneden.
Nu, zullen we uiteindelijk moeten controleren.
Stel dat we willen dat de vis verdwijnt zodra haar gegeten.
We zullen moeten een of andere manier aan de vis die
het zal moeten verbergen, bijvoorbeeld, of verdwijnen uit
het scherm als het eenmaal is chomped neer op.
>> Dus wat voor soort concept, wat voor soort instrument kunnen we gebruiken om
hebben de haai communiceren om de vis, OK,
Ik heb chomped beneden?
STUDENT: Broadcasting.
ZAMYLA CHAN: Ja, precies, uitzenden van een evenement.
Dus laten we gaan te controleren en laten we zeggen-uitzending.
En laten we uitzenden chomp.
Oke.
Maar zodra we iets uitzenden, dat is met de
veronderstelling dat we eigenlijk gaan om iets te hebben
ontvangen.
En dus dat gaat de vis.
Dus laten we zeggen, wanneer ontvang ik chomp.
Nu, als de haai chomp naar beneden gewoon een lege ruimte, doen we niet
willen de vissen te reageren op dat helemaal niet.
Dus laten we zeggen, OK, goed, alleen als de haai is het aanraken van de
vissen ten tijde van de Chomp -
dat is wanneer we echt iets doen.
Dus dan gaan we aan de voorwaarde gebruiken als, rechts,
omdat we na te gaan of er iets waar is of niet.
Dus als we terug gaan naar Sensing, dan kunnen we
Gebruik hier als raken.
En dan hier, zullen we kiezen voor de haai.
Vervolgens onder Looks, deze te verbergen blokkeren -
dat in principe zal maken van de vis van het toneel verdwijnen.
We maken het te verbergen, maar wij willen een andere vis, toch?
Onze haai heeft honger.
We willen het meer vissen.
Dus laten we dan ook een nieuwe vis opnieuw uit te zenden.
OK.
Dus laten we eens kijken wat dat doet.
>> Cool.
Dus het Chomps naar beneden en een andere vis verschijnt.
Maar dat is een beetje te snel voor een andere vis te gaan.
Dus laten we gewoon een seconde te wachten voordat we
uitzending een nieuwe vis.
Oke.
OK.
Dus dit is een vrij goede maken van een spel.
Maar alle spellen hebben een score, toch?
Dus wat kunnen we gebruiken om score bij te houden?
Ja.
STUDENT: Andere -
ZAMYLA CHAN: Ja.
Precies.
Ja.
Dus we willen om bij te houden eigenlijk hoe
veel vissen het is gegeten.
Om dat te doen, zullen we moeten een variabele te maken.
Laten we die score.
En dus vermoedelijk, want dit is een spel dat we spelen,
we gaan de vissen om te kunnen willen -
zeggen, zodra zijn opgegeten kan de score te verhogen of
iets en dan het podium zal waarschijnlijk te maken hebben
iets met de zere ook.
Dus ik ga ervoor kiezen om deze een globale variabele te maken en zeggen:
voor alle sprites.
OK.
Dus wanneer willen we de score te verhogen?
Wanneer een vis is gegeten.
En dus hebben we al een proces hier die te maken
met de vis wordt gegeten.
Dus laten we deze hier toevoegen deze verklaring -
veranderen Score met 1.
Cool.
Dus zodra je eet een vis, de score te verhogen.
>> Oke.
Dus zeggen dat ik ben moe van dit spel.
Ik stop.
En dan, oh, ik wil om terug te komen in het spel.
Ik wil een nieuw spel te starten.
Nou ja, de score is nog steeds 3, ook al ben ik
het spelen van een nieuw spel.
We hebben niet echt willen scoren nooit te resetten, toch?
Dus laten we voegen een verklaring wanneer het spel wordt gestart in de
stadium te zeggen, OK, goed, we willen de score opnieuw in te stellen.
Dus hier hebben we de variabele score op 0.
En nu, wanneer u een spel start, de score
zal beginnen bij 0.
Cool.
OK.
Dus nu, laten we gaan op naar HungryShark2.
>> Dus ik heb gedaan een beetje meer nu, en wat ik heb gedaan is
rechts geklikt op de vis sprite.
Ik wilde meer vis, dus ik klikte dubbel en het maakte
een nieuwe sprite identiek is aan die gekopieerd en in de
scripts ook.
Dus dan is dit fish2 is in wezen identiek aan
fish1, behalve in plaats van vanaf de linker en
naar rechts te verplaatsen, het begint bij de rechts en links beweegt.
En dan heb ik ook gekozen voor een nieuw kostuum voor.
Toen vond ik een ander kostuum dat was een gevlekte vis, en ik
was als, koel, deze giftige ziet er, dus laten we doen alsof
dat dit een giftige vis.
En dus zei ik, OK, goed, in plaats van het eten van de
giftige vis en het hebben van uw score te verhogen, heb ik eigenlijk
wil dat het te verlagen.
Dus hier hebben we score af met 1 wanneer de
haai eet het op.
En dan, ik hield echt van de kostuums die Kras
voorzien, en ik keek en toen vond ik de shark's -
het leek op een zieke haai.
En toen ik bewerkt hebt ik maakte het groen.
En ik was als, cool, het is een zieke haai.
Oke.
>> Dus laten we laten we toe aan ons script een of andere manier van het maken van de
haai schakelaar in het ziek zijn wanneer het
eet een vergiftigd vis.
OK.
Dus omdat we gekopieerd alle scripts van onze oorspronkelijke
vis in het gif vis, het heeft al deze sprite hier
die zegt, als ik chomped naar beneden, ben ik
eigenlijk chomped beneden?
Dus we kunnen profiteren van deze te communiceren naar de
haai, oh, nou ja, je net gegeten een gif vis.
Je bent ziek.
En dus dit zou wat voor soort actie?
Wat zou worden willen doen?
Broadcast.
Ja, precies.
Dus laten we uitzending.
Laten we het haai ziek.
OK.
Dus nu, de haai, uiteraard, zal degene die zijn
die deze gebeurtenis.
Dus laten we toe te voegen wanneer ontvang ik de haai ziek zijn.
OK.
Dus we weten dat we dit kostuum -
de haai is ziek.
En dan weten we van voor dat we soort van waarderen
als we pauzeren een beetje voordat u weer terug.
Ja?
>> STUDENT: Hoe ga je script te kopiëren van
een sprite naar de andere?
ZAMYLA CHAN: Ah.
Dus in dit geval, toen ik net de sprite gedupliceerd, te
kopiëren een script naar een andere sprite, wat ik deed was hier
gewoon zeggen dubbele, en het feitelijk een geheel nieuwe
sprite met alle scripts inbegrepen.
Maar zeggen dat je wilt een bepaalde script gewoon kopiëren naar een andere
sprite, dan wat je zou doen is eigenlijk gewoon slepen deze,
zweven over een ander script, en nu hier is gedupliceerd het.
In dit geval, het al had, dus we kunnen gewoon verwijderen
dat nog eens.
Maar om een ​​script te kopiëren naar een ander, wat je doet is gewoon
sleep het naar de andere sprites.
OK.
>> Dus we zijn terug bij de haai ziek zijn.
Dus deze is ontvangen haai is ziek, en het zegt, OK, goed,
zodra ik ben ziek, ik ga over te schakelen naar mijn kostuum dat zegt
"Haai ziek," en nu, laten we een wachttijd toe te voegen aan
waarderen het groen.
En dan gaan we weer honger, dus we kunnen gewoon
schakelt u terug naar de haai honger.
Oke.
Dus laten we eten deze paarse vis.
Dat is prima.
Goede vraag.
Wat gebeurde er met de teller?
OK.
Dus we hebben score op 0 hier, maar deze score - wat
Dit vinkje doet is het verbergt of zichtbaar maken van de variabele
van het scherm.
Maar wat we kunnen doen in plaats van het vinkje of het controleren van het -
kunnen we hier eigenlijk hebben dit blok zegt "weergeven of verbergen
de variabele. "Dus laten we ervoor zorgen dat elke keer als we beginnen
het spel dat de variabele wordt weergegeven.
>> OK.
Nu de variabele getoond.
We eten een gif vis, en we ziek worden.
Cool.
Oke.
Dus nu, het is vreemd voor een spel voor ons om negatieve
punten, toch?
Dus het blijft het eten van deze en het is net als -
dus hoe over wanneer we negatief, als we ook gegeten
veel giftige vis, game over - haai is te ziek.
Oke.
Dus wat we moeten doen is zullen we moeten
uitzending of andere gebeurtenis -
game over.
Dus we konden dit doen op verschillende manieren, eigenlijk.
We konden ergens in het stadium van een script dat
continu controles is de score negatief?
Is de score negatief?
Zo ja, dan kunnen we uitzenden dit evenement.
>> Dus dat is een manier om het te doen.
Of we kunnen profiteren van het feit dat we weten dat de
enige manier waarop je score negatief kan zijn is wanneer je eet een
giftige vis, toch?
Want als je eet andere vis, uw
score zal toenemen.
Dus er is geen gebruik in het controleren of het zou moeten zijn
game over is of niet.
Dus dit is een soortgelijk proces hier.
Dus we kunnen eigenlijk alleen maar toe te voegen aan deze "als ik haai ontvangen
ziek. "
Dat zeggen we voegen deze aandoening.
We willen zeggen, als de score lager is dan 0.
Dus we gaan naar Operators, we gaan gebruiken
deze minder dan een, we gaan slepen onze
score hier, zeg 0.
En dus, als de score 0 is, dan willen we uitzenden
iets genaamd game over.
>> OK.
Dus zeggen dat we game over.
Opschieten hier of zoiets.
Nou, we willen de haai alleen om terug te gaan naar zijn honger als
het spel kan nog steeds worden gespeeld.
Dus in plaats van het gebruik van een "indien" we zullen gebruiken
een "indien anders" te construeren.
Dus wat dit doet - het zegt, OK, dus als aan deze voorwaarde is
waar is, dan dit te doen, maar als het valse doe dit dan.
Dus laten we toe te voegen als de score kleiner is dan 0, dan moet je
uitgezonden game over, maar als niet - als uw
score is nog steeds positief -
ga dan terug naar honger.
OK.
Cool.
Dus nu dat we deze game over evenement, zullen we moeten hebben
een manier te reageren.
>> Dus laten we een nieuw script dat zegt: "wanneer ik spel ontvangen
voorbij. "En wat hebben we hier onder controle is eigenlijk deze
stoppen met alle knop, en dus in principe bootst u klikken op
de rode stop hier even tekenen.
Dus laten we eens de haai stop.
En zo ook wij willen dat de vis om te stoppen, dus laten we slepen en
kopieer deze binnen
We willen alle vissen te stoppen.
En dan laten we het podium stop ook.
Oke.
Dus zwemmen, eten we een vis, en
dan is het programma bevriest.
Ik ben te klikken naar beneden, maar ik kan niet echt iets doen.
OK, maar laten we zeggen dat we niet willen dat de gebruiker eraan herinneren dat
ze hebben een negatieve waarde, bijvoorbeeld, dan kunnen we, voor
Zo verberg de variabele van het scherm.
Dus toen het podium spel ontvangt meer dan, dan zal verbergen
de variabele score.
OK.
Dus laten we eten nog een vis.
En dan is de score verdwijnt, en je hoeft alleen dit scherm.
>> Oke.
Dus dat is een heel behoorlijk spel, en als je meer
tijd, dan kun je uiteindelijk toe te voegen
meer scripts.
En toen heb ik een paar vis, maakte ze vooruitgang
op verschillende snelheden, en vervolgens telkens wanneer de haai eet een
giftige vis, het zegt eigenlijk, "Blech!"
En dan wat ik heb is dat ik een nieuwe achtergrond van de
stadium - een spel over achtergrond.
En dus wat het podium doet tijdens de game over evenement
behandeling is schakelt hij over naar de achtergrond van game over
achtergrond.
En ook, ik verborg alle sprites van het podium, zodat
alleen de game over achtergrond werd getoond.
Er zijn een paar andere kleine toevoegingen die ik heb toegevoegd,
bijvoorbeeld, toen we eindigden onze programma, dan is onze
haai, de volgende keer dat we begonnen, zouden opstarten in
die positie ook.
Wat ik toegevoegd is wanneer de groene vlag wordt geklikt, dan
de haai gaat terug naar de oorsprong en dan kijkt in de richting van
het recht, zodat elke keer dat u een hebt
haai beginnen daar.
>> Zodat u kunt experimenteren in Motion en dat soort dingen, dat
alleen maar om kleine details die uw toe te voegen
spel een beetje meer gepolijst.
Heeft iemand nog vragen over HungryShark?
Cool.
Oke.
Dus dat is een voorbeeld van iets dat je zou kunnen maken
in Scratch gebruik van alle tools die we eerder besproken hebben.
Dus ik ook opgenomen in de walkthrough dia's.
Je zult later zien.
Het is gewoon een overzicht van de processen die we deden -
vordert van HungryShark0 helemaal naar onze laatste.
Een
Ja.
Maar dat is het zowat.
Ik zal achter blijven als jullie willen
meer vragen.
Dit was Walkthrough 0.
Dank u allen voor uw komst, en ik zie je op Walkthrough 1.