Tip:
Highlight text to annotate it
X
>> ZAMYLA CHAN: Hallo, en welkom aan de Scratch walkthrough.
Mijn naam is Zamyla en ik zal leiden walkthroughs voor jou dit jaar.
In CS50, elk probleem set is vergezeld van een walkthrough.
Tijdens deze walkthroughs zal ik gaan over de week probleem set, verklaren de
concepten vereist en breken de probleem set in hanteerbare beten.
>> Voor de eerste p-set in CS50, we eigenlijk gaan nu niet in te typen en
machinecode spul helemaal nog niet.
Integendeel, we gaan Scratch gebruiken, een programma dat ons in staat stelt om te verkennen
programmeren van begrippen in een visuele en creatieve manier.
Deze oplossing zal onderzoeken fundamentele concepten die we zullen gebruiken
heel CS50, evenals dienend als een Scratch tutorial.
In elke walkthrough zal ik een set lijst van gereedschappen die u kunt gebruiken voor het
probleem set.
Van grotere cursus concepten aan de werkelijke functies, het is goed en nuttig om
weet wat je voorzien vóór aanpak van het probleem set.
>> Laten we eerst eens praten over sprites.
Sprites zijn centraal te maken projecten in Scratch.
Elk object of elk karakter, hetzij een kat, een hond of een
bal, heet een sprite.
Als ik wil, zeg, twee katten in mijn project, Ik moet twee maken
aparte sprites in Scratch, zelfs als ze volledig identiek.
>> Elke sprite heeft scripts gekoppeld met die specifieke sprite.
Scripts zijn wat je gaat te bouwen door te slepen
en dropping blokken.
Scripts zijn aanwijzingen dat vaststellen en definiëren
hoe het script zich gedraagt.
>> Nu, sprites zijn niet alleen beelden.
Een sprites kostuum bepaalt wat de sprite eruit ziet.
Een bepaalde sprite kan hebben meer dan een kostuum.
Een beetje later tijdens deze walkthrough zal ik laten u zien hoe u kunt uw
sprite verandering kostuums tijdens uw programma.
>> Om een sprite te creëren in Scratch, kunt u ofwel kiest zijn eerste kostuum voor
Bibliotheek kras's, trek je eigen in Scratch's ingebouwde verf editor,
upload uw eigen beeld, of neem een foto met de camera van uw computer.
Alle van de sprites zijn geplaatst op wat we het podium roepen.
Het podium is net als onze canvas waar sprites kan bewegen.
>> Hoewel we kunnen hebben veelvouden sprites, er kan er maar een fase.
Anders, podia en sprites zijn vrij Vertaald in dat stadium kunnen
hebben ook scripts.
Scripts op het podium zijn zeer nuttig als je niet beschikt over een script dat
niet noodzakelijkerwijs betrekking hebben aan een specifieke sprite.
Misschien het gaat om meerdere strepen, of helemaal geen.
>> Het is over het algemeen goed ontwerp om plaats uw scripts op een stadium zij
algemeen genoeg en hebben geen betrekking naar specifieke sprites.
En net als sprites hebben kostuums, stadia hebben achtergronden die kunnen veranderen
in de loop van je programma.
En je kunt tekenen je eigen, upload een afbeelding, een foto, of gebruik de
Kras bibliotheek van achtergronden.
Zowel het podium en sprites kan ook spelen geluiden uit de bibliotheek Scratch's, of
u kunt uploaden en neem uw eigen.
>> Om uw Scratch programma zul je beginnen moet u op de groene vlag bij de
rechterbovenhoek van het venster podium.
Maar als je niets aan op dit blok hier, dan is er niets is
daadwerkelijk gaat gebeuren, omdat je sprites en het podium moeten worden verteld
om te reageren op het evenement van de groene vlag wordt geklikt.
Dus je zult moeten blokken hechten aan de groef aan de onderzijde van de groene
vlag, en dan zal het programma uit te voeren die acties wanneer u begint
uw programma.
>> Nou, wat komt daarna?
Nou, Scratch heeft veel blokken voor u om te gebruiken, en u kunt
zelfs je eigen te maken.
Je ziet drie tabbladen, Scripts, Kostuums en geluiden.
Onder het Scripts-tag zijn categorieën van verklaringen.
Uitspraken zijn gunstig georganiseerd door kleur.
Moet je acties met betrekking tot beweging, geluid, uiterlijk, enzovoort.
Hoewel je zult moeten andere blokken gebouwd rond uw verklaringen, het is de
verklaringen die zal helpen de sprites of het podium om iets te doen, terwijl
andere blokken zal helpen bepalen wanneer ze te doen.
>> Laten we zeggen dat je het creëren van je eerste project en u alleen wilt dat de
kat te miauwen onder bepaalde omstandigheden.
Om dit te implementeren, kunnen we voordeel van Booleans.
Dit zijn uitdrukkingen die evalueren naar waar of onwaar.
In Scratch deze worden geïdentificeerd door de hoeken aan het einde van de blokken.
U zult een verscheidenheid van verschillende types hebben van Booleans zoals de muis
wordt ingedrukt, wordt 2 plus 2 gelijk tot en met 5, of wordt de gebruiker drukken
beneden een bepaalde toets op het toetsenbord?
>> Nu, kunt u niet alleen gebruik deze Booleans alleen.
Je nodig hebt om ze te combineren met wat wij noemen voorwaarden.
Voorwaarde blokken zijn te vinden in de oranje control statements.
Omstandigheden gunstig zijn een beetje placeholder dat de vorm van laat
het blok dat je nodig hebt erin stopt.
Dus afhankelijk van de context van de situatie, kunt u kiezen voor een Booleaanse
en plaats deze in uw conditie.
En in elkaar gezet, je hebt een voorwaardelijke verklaring.
Zodra je instructies binnen dat Blokkeer je een structuur opgezet
waarbij eenmaal een bepaalde voorwaarde wordt voldaan, moet u vervolgens uitvoeren die
verklaringen.
>> Een van de voordelen van computers de grote kracht en snelheid ervan
kan repetitieve processen uitvoeren.
In plaats van, zeg, het herhalen van een instructie over en over en over
weer en eigenlijk te typen dat uit, of in dit geval, slepen en neerzetten
en slepen en neerzetten, wat we kunt doen is kapselen in een lus.
>> Lussen worden gebruikt voor de uitvoering dingen oneindig met een eeuwig lus,
of voor een bepaald aantal keren.
Zo herhaalt de verklaring, zeggen hoi, 10 keer, of misschien tot op zekere
voorwaarde waar is.
En met dit herhalen totdat u blokkeren zien dat Scratch is doorschemeren dat
je nodig hebt om een Boolean te plaatsen in het herhalen totdat blok naar een make
conditionele statement.
>> Nu, we weten dat we kunnen inkapselen repetitieve processen binnenkant van loops,
zodat u kunt zien waarom iets als kan dit niet ideaal.
Het is super lang, het gewoon doet hetzelfde te doen over en
opnieuw, 10 keer in feite.
Het beweegt 10 stappen, zegt hallo, bewegen 10 stappen, zegt hallo.
Maar met behulp van lussen we kan dit netjes een beetje.
Zien hoe dit is veel beter.
Het is korter, het is kleiner en het het zelfde ding voltooid.
>> Over te gaan tot variabelen.
Variabelen zijn in wezen containers voor waarden.
In Scratch, die types van waarden kan hetzij woorden of zij kunnen
getallen, waarden die we hebben controle over.
In dit eerste blok hebben we een tekstvariabele met daarin de
waarde, Hello, World.
In het tweede voorbeeld is aangenomen dat hebben we al een variabele met de naam
Teller en we verhogen het door drie.
En dan, in het laatste voorbeeld, zien we een voorbeeld van variabelen gebruikt
binnen voorwaarden.
In dit blok, vragen we als de variabele Teller kleiner is dan nul.
>> Nu, wanneer u een variabele te maken heb je om te beslissen of u de
variabele beschikbaar voor alle van de sprites in uw Scratch-programma, of
alleen voor de specifieke sprites geselecteerd wanneer u de variabele.
Dit is een zeer belangrijke beslissing te maken.
Het komt neer op wat je scope de variabele wilt hebben.
>> Een voorbeeld van lokale scope zou een variabele slechts voor een bepaalde sprite,
wat betekent dat alleen dat sprite zou kunnen zien of wijzigen.
Als je een variabele met wereldwijde bepalen ruimte door het selecteren van alle
sprites, dan betekent dat dat het toneel, evenals alle van de sprites,
kunnen zien, te wijzigen, zal zijn en toegang die
variabele die u hebt gemaakt.
En in termen van design, is het best om kiezen voor lokale scope wanneer je kan
gewoon zo dat de rest van de sprites en het stadium geen zorgen te maken over
bijhouden van die variabele.
>> Je kunt eigenlijk twee variabelen van dezelfde naam voor verschillende sprites als
Zolang die zijn lokale variabelen.
Sprite een, een kat, kan een variabele hebben naam Teller, en sprite twee, een hond,
kan ook een variabele genaamd Teller zolang deze
zijn zowel lokale variabelen.
Vanwege de omvang van de variabele strekt zich niet uit tot de rest van de
programma, en geen van de andere sprites of de stage zal in de war raken.
>> Eerder noemde ik de ingang, de toen groene vlag geklikt blok.
Dat blok en de bijbehorende verklaringen zijn in wezen vertellen
je sprites of het podium, OK, wanneer de groene vlag wordt geklikt, is dit
wat je moet doen.
Maar dat is niet het enige geval sprites en het podium kunnen reageren.
Wij hebben bijvoorbeeld een gebeurtenis wanneer een klaviertoets ingedrukt wordt.
Je kunt eigenlijk kiezen voor de letters A tot en met Z, nul tot negen of de
pijltjestoetsen.
>> Er zijn andere gebeurtenissen, ook, zoals zoals wanneer je sprite wordt geklikt.
Wanneer u begint met event blokken zoals deze, zult u merken een trend.
Ze hebben allemaal een enkele groep op de bodem en een gladde bovenkant, die
aangeeft dat niets boven hecht aan dat blok.
Je bouwt onder die gebeurtenissen blokken en bouwen naar beneden.
>> Nu, wat gebeurt er als we willen dat een of andere gebeurtenis gebeurt bijvoorbeeld wanneer een kat
een bepaald gedeelte aan te raken van het podium?
We eigenlijk geen ingebouwde hebben event aan te geven dat, dus wat zullen we
hoeft te doen is het creëren van ons eigen event.
En dat heet omroep.
>> Dus als je wilt om te signaleren dat een bepaalde gebeurtenis is gebeurd, dan moet je
Gebruik een zwarte genaamd Broadcast, die wordt gevonden in de tab Controle.
Daar vindt u typt in de naam van de gebeurtenis die u wilt uitzenden, en
vervolgens welke sprite of stadium daarop reageren
uitgezonden als u dat wenst.
Toen ik de ontvangen blok vertelt de sprites wat te doen als ze
meegedeeld dat uw aangepaste evenement is gebeurd.
Dus vergeet niet dat wanneer u de fax een gebeurtenis, het is met de
verstande dat een van de sprites of het podium gaat
ontvangen die gebeurtenis en hierop reageren.
>> Nu, de laatste begrip voordat we een concreet voorbeeld van een Scratch
programma, is het concept van draden.
Dat is wanneer uw computer is het uitvoeren van gelijktijdige
processen tegelijkertijd.
En ik weet zeker dat we allemaal genomen voordeel van.
Zoals surfen op het web, terwijl luisteren naar muziek.
De computer kan meerdere uitvoeren dingen tegelijkertijd.
>> In dit voorbeeld, de twee scripts kan worden gebruikt
exact dezelfde sprite.
Het ingangspunt blok, Toen Green Flag Geklikt, wordt meerdere keren, maar
ze zijn twee aparte scripts.
Inderdaad, de Groene Vlag geklikt blok waarschijnlijk een van de meest
populair blokken in uw programma.
Hier zien we dat wanneer de groene vlag is geklikt, er is een proces gaande
op, alsook andere.
Dus Scratch daadwerkelijk zal deze lopen twee op exact hetzelfde moment.
En wetende dat je eigenlijk kunt hebben meer dan een ingang, zelfs als
het is hetzelfde toegangspunt, gaat om echt handig als je wilt
apart onderscheiden taken van elkaar.
>> Oke.
Dus nu dat we al deze hebben afgedekt concepten, laten we eens kijken naar een voorbeeld.
Ik heb een serie Scratch-programma's gemaakt, dus proberen om mee te volgen als wij
maak een spelletje.
Laten we beginnen met het openen Hongerige Dino Zero.
>> Laten we op de groene vlag te starten en zien wat het doet.
We hebben een bug sprite die verhuist naar een paar stappen, reset op enige hoogte, en
dan stappen terug.
En dan hebben we een dino sprite.
Door op de pijltjestoetsen, ben ik verhuizen de dino sprite rond, waardoor het draaien
en roteren.
Dat kan wel leuk, maar Er zijn niet heel veel
scripts in dit programma.
We kunnen zeker toevoegen aan deze.
>> Bijvoorbeeld, wanneer de dino beweegt het daadwerkelijk kan krijgen van het scherm en
bijna verdwijnen van de site.
Wij willen dat veranderen, omdat we willen niet dat de dino te ontsnappen.
Dus laten we stoppen met onze script met de rode vlag en dan de dino scripts bewerken.
Merk op dat deze specifieke script heeft een eeuwig lus, die eindigt met een
rechte rand.
Het heeft geen groove niet onderaan.
En dit is logisch vanuit het naam, een eeuwig lus.
Het is oneindig uitvoeren van iets en zal nooit eindigen.
Dus dit is een geweldige kans op een discussie te voeren.
>> Oke.
Dus laten we voegen een ander script.
Ik ga om te beginnen met dit bericht punt, Als Green Flag geklikt.
En ik wil continu controleren of de dino gaat worden
het aanraken van de rand.
Onder Motion is er een keurig klein blok dat zegt, Als On Edge Bounce.
En dus willen we continu voer je dit.
>> Wat deze uitspraak doet is gecontroleerd of de sprite is aan de rand van de
podium, en stuitert terug als het is.
En omdat de gebruiker kan altijd bewegen de dino, we willen een soort van vinden
lus die ons in staat stelt om continu uitvoeren van deze verklaring.
Zoek onder controle zullen we kiezen voor de Forever lus.
Dus laten we slepen die in de dino scripts, en vervolgens
voeg Indien On Edge Bounce.
En dan laten we testen onze programma.
>> Zodat het insect beweegt zoals gewoonlijk, en dan als we testen onze nieuwe script door
verhuizen onze dino naar de rand, we zien dat het niet kan
ontsnappen aan het podium niet meer.
Het stuitert terug.
Nu ben je misschien afvragen waarom de dino bounces maar niet de bug.
Nou, dat is omdat we onze nieuwste schreven script in de dino scripts
en niet de bugs.
Zodat de bug zal niet luisteren naar de instructies gaven we de dino.
>> Oke.
Dus voegen we iets nieuws nu.
Als je naar het tabblad Kostuums je zult zien dat de verschillende kostuums die
komen voorgeladen met uw geselecteerde sprite Als u kiest voor een van de
Kras bibliotheek.
Er is dit schattige kleine dino chomp kostuum, dus laten we de uitvoering van de dino
trappelen toen we druk, zeggen, de toets Space.
>> Terug naar de dino scripts.
In dit script hier, ik ben al inchecken in het eeuwig lus of
bepaalde pijltjestoetsen worden ingedrukt en het verplaatsen van de dino dienovereenkomstig.
Als ze pijl naar links wordt gedrukt, de dino draait linksom.
Als de pijl naar rechts wordt gedrukt, de dino rechtsom draait.
Dus als de pijl omhoog wordt gedrukt, dan de dino vordert vooruit.
We kunnen alleen maar toe te voegen aan het script in plaats van het toevoegen van een apart, omdat deze
is al inchecken in het thema van welke toetsen worden ingedrukt.
>> Voegen we een die controleert op de Space-toets wordt ingedrukt.
Deze blokken worden hier controleren de toetsen wordt gedrukt.
Ze zijn allemaal in het helderder blauw, dus laten we naar heldere blauwe sensing
verklaringen en kijk rond.
Hier is een Key Spaced Press blok.
Dus wat we willen doen is hebben de dino overschakelen op haar hakken neer kostuum
Als, en alleen als de Space toets ingedrukt wordt.
>> Dus laten we bootsen de structuur hier.
Nu, verandert het kostuum heeft met hoe de dino ziet er zo gaan we naar
Kijk verklaring.
En ja ***, we hebben een switch Kostuum naar Dino Chomp.
Nu, als we chomp neer we niet willen de dino te trappelen voor altijd naar beneden,
dus laten we voegen een verklaring te vertellen het om terug te schakelen.
Het zal kostuums soort snel te schakelen, hoewel, omdat in Scratch verklaringen
zal terug te voeren om echt terug snel, bijna onmiddellijk.
Dus laten we naar controle en vervolgens de dino pauze voor een beetje door te wachten
een seconde nadat het chomps beneden.
>> Laten we nu bewerken de bug sprite.
De bug sprite stappen voorwaarts vijf stappen in totaal vijf keer na
moment van pauze.
In het bovenste blok hier de bug plaatst zich op een bepaalde
x-coördinaat waarde.
Om de coördinaten kun je eigenlijk vinden muis over het scherm en
vervolgens in de onderste hoek van het podium venster de coördinaten zal dus updaten
kunt u profiteren van deze handige beschikken om de coördinaten te implementeren
die u wilt.
En, in deze verklaring hier, we instrueren de bug te beginnen op hetzelfde
x waarde aan elke keer, maar naar een willekeurige halen hoogte voor de bug die nog steeds
verblijf binnen de beperkingen van het podium.
>> Zie hier dat ik gebruik te maken van het evenement uitzenden in Scratch.
Dit event handler wordt New bug1 genoemd.
Dus wanneer de bug ontvangt de Nieuwe bug1 evenement,
het zal de instructie uit te voeren.
Dus na het beweegt voorwaarts zijn set aantal keren, het eigenlijk
uitzendingen het evenement New bug1.
>> Maar hoe zit we veranderen dit script een beetje?
Op dit moment hebben we de bug bewegende vijf stappen.
Dat is niet veel, een totaal van vijf keer.
We weten niet echt hoe vaak zal nodig zijn totdat de bug heeft bereikt,
zeggen, het einde van het scherm, dus laten we maken het maar bereiken het einde van de
scherm, maar gebruik een soort van andere construct.
>> Ik ga dit uit te scheiden, omdat We gaan een paar dingen veranderen.
Om blokken van Scratch verwijderen je de blokken slepen naar de
links en laat dan los.
En het wordt verwijderd.
Als je besluit dat je niet deed wil het dan verwijderd u kunt
ga naar Bewerken en undelete.
Maar we hadden willen krijgen ontdoen van dat blok.
>> Wat wij willen doen is bewegen, zeggen, 50 stappen en pauze een seconde, en
Herhaal dit totdat we raken het uiteinde van de afscherming.
Dus laten we gebruik maken van een lus die ons in staat stelt om herhaal een proces tot op zekere
voorwaarde is voldaan, treffend genaamd Repeat Tot.
>> Wat gaat er in de toestand van een Repeat Totdat?
Iets dat ons vertelt of de bug is het aanraken van de rand van de
scherm, die zal worden onder de Sensing Statements.
Hier is deze Boolean, aanraken.
En je kunt hier kiezen welke u wilt controleren.
Dus we Touching Edge selecteren en toe te voegen Deze voorwaardelijke instructie opnieuw
>> Dus nu als we kijken naar onze bug, het zal bewegen weer terug zodra het in aanraking komt
de rand van het podium.
Geweldig.
We zijn klaar met Hongerige Dino Zero, dus laten openen Hongerige Dino One.
Zoiets als een kookprogramma, heb ik toegevoegd een beetje meer functies.
Bijvoorbeeld, zult u zien dat de bug is eigenlijk glijdt gewoon nu
in tegenstelling tot voorheen.
Onder motion is er dit glijden verklaring.
Nu de bug glijdt 70 eenheden naar rechts van de huidige expositie, maar
blijft op hetzelfde y-positie hier.
En we kunnen nu een dino kauwende zoals we eerder geïmplementeerd.
>> Maar, is dit programma niet Hongerige genoemd Dion voor niets dus laten we het
Dino eet de bug.
Hoe kunnen we vertellen de bug, of vertel de dino, die het heeft gekapt?
Hoe kunnen we deze gebeurtenis communiceren?
Nou, we weten dat wanneer we overschakelen van de kostuum voor de dino naar de dino chomp
dat we hebben opgevreten beneden.
En zeggen dat we willen dat de bug te verdwijnen zodra het heeft gegeten.
Nou, zullen we moeten nagaan of de bug is opgevreten op en
aan de bug die het zal hebben te verbergen of verdwijnen van het scherm
eenmaal is opgevreten beneden.
>> Dus wat voor soort begrip, wat voor soort hulpmiddel kunnen we gebruiken om de dino hebben
aan de bug die het is opgevreten beneden?
Omroep.
Dus laten we naar Evenementen en voeg een evenement uit te zenden.
Chomp.
OK.
Maar vergeet niet dat als we eenmaal uitzenden iets wat we moeten ook
ontvangt dit evenement.
Dus welke sprite zal chomp uitzenden?
Nou, laten we de dino dat doen wanneer de Space-toets wordt ingedrukt.
>> Voegen we een blok aan chomp ontvangen.
Nu, toen de dino komt neer gewoon op een lege ruimte die we niet willen dat de bug
om te reageren op dat helemaal niet, alleen als de dino is het aanraken van de maar op het moment
van de chomp doen we eigenlijk doe iets.
Dus zullen we de toestand te gebruiken Als gevolg wij controleren of er iets is
waar is of niet.
>> Nu als we terug gaan naar Sensing, dan We kunnen gebruik maken van deze Touching
blokkeren en selecteer Dino.
Klik vervolgens onder Looks, vinden we dit Verbergen blok dat in principe zal maken van de bug
van het toneel verdwijnen.
>> We maken het te verbergen, maar wij doen willen nog een bug, toch?
Onze dino heeft honger.
Dus we willen het nog een bug op te jagen.
Dus laten we ook uitgezonden het evenement New bug1.
Behalve wij willen dat het wachten voor een tijdje voordat een andere bug verschijnt, dus laten we
Ook wacht een seconde.
>> Oke.
Dus laten we dit zien.
We chomped beneden, maar een verdwijnt, een andere verschijnt, en we chomp omlaag
op het weer.
Dit is op zoek als een mooie leuk spel, maar alle spellen
moeten scoren, toch?
Dus wat kunnen we gebruiken om bij te houden hoeveel bugs de dino heeft gegeten?
Een variabele.
Dus laten we voegen een variabele genaamd Score.
>> En nu zullen we moeten beslissen wat scope deze variabele.
Dus laten we denken.
Terwijl we zouden willen, maar het stijgen de score als het is geweest
succes gegeten, en het podium zou kunnen iets te maken hebben met de
score zo goed, dus laten we toewijzen deze variabele om alle sprites.
>> We willen de score te verhogen, indien en alleen als een bug is opgegeten.
En we hebben al een script dat geschreven behandelt een bug wordt zo opgegeten
voegen we deze ene uitspraak in, Change Score By One.
Dat betekent dat zodra u eet een bug de score toeneemt.
>> Laten we spelen voor een beetje en eet, Ik weet het niet, drie bugs.
Zo krijg je moe van het spel, goed, zult u op de rode stop
ondertekenen om het spel te stoppen.
En als je wilt om terug te komen zul je Druk nogmaals op de groene vlag.
Maar de score is nog steeds drie zelfs al ben ik het spelen van een nieuw spel.
We willen niet gebruikers geven een hoofd beginnen, dus we moeten het resetten
scoren telkens als zij start een nieuw spel.
Dus laten we voegen een verklaring aan het stadium van de ingangspunt script om het instellen
variabele score op nul.
Dus nu, wanneer je een spel start, de score begint bij nul.
>> Laten we nu eens openen Hongerige Dino 2 waar Ik heb een paar dingen toegevoegd.
Ik klikte op de bug sprite te dupliceren de sprite die maakte een
sprite identiek aan mijn vorige.
Poison Bug is in wezen identiek aan Bug1 maar ik koos voor een nieuw kostuum omdat
Ik vond het er, nou ja, soort giftig.
In plaats van het verhogen van de score toen het gif bug wordt gegeten, ik eigenlijk
verlaag de score door het veranderen score door negatieve.
>> En toen maakte ik een ander kostuum voor onze dino gebruik van de verf editor
maak een zieke kijken dino en noemde het Dino Sick.
Maar we maken geen gebruik van dit kostuum in onze programma nog niet, dus laten we nog wat
verklaringen en blokken die zal veranderen de dino's kostuum naar de groene zieken
kostuum wanneer het eet een vergiftigde bug.
>> Nu, aangezien we gedupliceerd de bug sprite, de vergiftigde bug heeft alle
de scripts die de originele bug doet.
Als je wilde kopiëren via scripts uit andere sprites, sleept u de
script op de top van de sprite dat u wilt kopiëren.
Maar we zullen niet nodig om dat hier te doen omdat het vergiftigde bug heeft al een
script dat controleert of de bug is vastgelegd chomped op.
En we kunnen profiteren van deze te aan de dino dat het at een
giftige bug.
En we communiceren tussen sprites door het uitzenden.
Dus laten we uitzending een nieuwe evenement genaamd Dino Sick.
>> En we weten dat we een kostuum voor de dino te veranderen naar, maar wij ook
weten uit eerder dat het best te voegen in een pauze
tussen kostuum veranderingen.
Dus toen ik ontvang Dino Ziek, ik ga om kostuum veranderen in Dino Sick, wacht
een seconde, en dan overschakelen terug naar Dino Hungry.
Oke.
Laten we ons spel spelen en te eten een bug en de kever.
En de score met een verminderd.
>> Nu, soms merk je dat de variabele kan niet op het
linker bovenhoek van het scherm.
Als u naar Sectie gegevens onder de scripts, zie je dit vinkje
naast de variabelen die u maakt.
En dit verbergt of zichtbaar maken van de variabele van het scherm.
Maar je kunt ook een statement te gebruiken genaamd Show of
Verberg een specifieke variabele.
Dus laten we gebruik maken van dit Toon Variabel Score om zorg ervoor dat elke keer beginnen we
het spel, wordt de variabele weergegeven.
Geweldig.
>> Dus laten we lopen het spel en eten een gif bug meteen.
Nu, het is een beetje vreemd om een spel te hebben om negatieve punten hebben, toch?
Dus laten we introduceren een andere functie.
Als de dino eet te veel giftige bugs dan krijgt het te ziek en de
spel voorbij.
Dus om dit te implementeren, zullen we uitzenden een andere gebeurtenis, Game Over.
Hoe weten we wanneer te voeren Deze Game Over uitzending?
>> Nou, we kunnen dit doen op verschillende manieren.
We kunnen een script hebben in het stadium dat continu controleert of de score
negatief is of niet, en zendt Game Over wanneer de
score negatief wordt.
Of we kunnen profiteren van het feit dat de enige manier waarop de score kon ooit
negatief zijn, is wanneer een giftige bug wordt gegeten.
Want als je eet de andere bug, de score toeneemt.
Er is geen gebruik in het controleren of het moet Game Over of niet wanneer je
eet een eetbare bug.
>> Dus we kunnen eigenlijk alleen maar toe te voegen aan de script dat de Dino Sick ontvangt
event uitzending.
We willen instrueren de dino als volgt.
Als de score lager is dan nul, uitgezonden Game Over.
Dus zullen we de Score Minder dan nul op te bouwen toestand en met behulp van een blok van de
operator sectie, en slepen in onze score op dat blok.
En zie hier kun je gewoon slepen de variabele score en zet minder dan nul.
En we gaan zenden een nieuw evenement, Game Over.
>> Maar als de score niet onder is gegaan nul, willen we de dino aan
verderspelen.
Dus in plaats van het gebruik van een als hier, laten we Gebruik een if else.
Een if else vertelt onze dino aan een ding doen als de voorwaarde waar is
en een ander ding als de voorwaarde onwaar is.
Het lichaam van onze eerste als in kan gaan het zo anders, dus laten we slepen die inch
Maar als de score is niet kleiner dan nul, laten we dan terug te schakelen naar de
Hongerige Dino kostuum.
We willen niet dat preventief te doen.
Geweldig.
>> Maar aangezien we uitgezonden Game Over, we moeten nog steeds een te maken
event ontvangerblok.
Er is eigenlijk een Stop All statement in de controle, dus laten we sluit deze aan
toen ik ontvang Game Over.
Maar we willen ook de bug te stoppen, zodat laten we slepen dit manuscript op om alle
de bug sprites en het podium.
Laten we proberen dit uit.
>> Het eten van een giftige bug meteen, het programma stopt zoals verwacht.
Geen van de andere insecten bewegen en noch doet de dino als u op
beneden de pijltjestoetsen.
Maar laten we zeggen dat we niet willen herinneren de gebruiker van hun negatieve score, zodat
laten we verberg de variabele score van het podium wanneer het spel
Over event wordt ontvangen.
Oke.
>> Dus dit is een heel behoorlijk spel.
Met meer tijd kunt u meer toevoegen sprites en meer scripts.
Misschien de bugs kan bewegen met verschillende snelheden.
U kunt een nieuwe achtergrond toe te voegen op het podium -
een Game Over decor -
zodanig dat bij de fase ontvangt Game Over gebeurtenis, kan het overschakelen naar de
Game Over decor en alle van de sprites verbergen.
Veel kleine aanpassingen kunnen worden gemaakt om ervoor te je spel een beetje meer gepolijst.
>> En dit is slechts een voorbeeld van een project die u kunt maken in Scratch
gebruikmaking van alle instrumenten die we eerder hebben besproken -
sprites, kostuums, podia, decors, omstandigheden, loops, variabelen,
omroep evenementen en draden.
Hongerige Dino geeft geen geluid gebruiken effecten, maar u kunt eenvoudig uw
zelf door naar het tabblad Geluiden en het verkennen van het geluid verklaringen.
Scratch is een geweldige introductie tot programmering concepten, dus wees creatief
en, belangrijker nog, veel plezier.
Mijn naam is Zamyla, en dit is CS50.