Tip:
Highlight text to annotate it
X
>> ZAMYLA CHAN: Hallo, und herzlich willkommen zum Scratch Komplettlösung.
Mein Name ist Zamyla und ich werde führenden Komplettlösungen für Sie in diesem Jahr.
In CS50, ist jedes Problem Set begleitet von einer Komplettlösung.
Während dieser Komplettlösungen Ich gehe über Problem der Woche gesetzt, erklären die
Konzepte erforderlich und brechen die Problem in handhabbare beißt gesetzt.
>> Zum ersten p-Set in CS50, tatsächlich wir werden nicht in Typisierung zu bekommen und
Maschinencode Sachen noch nicht.
Vielmehr werden wir Scratch verwenden, eine Programm, das uns zu erkunden
Programmierung Konzepte in ein visuelle und kreative Art und Weise.
In dieser exemplarischen Vorgehensweise wird untersuchen, grundlegende Konzepte, die wir verwenden,
während CS50, sowie Servieren als Scratch-Tutorial.
In jedem Komplettlösung werde ich Liste einen Satz von Tools, die Sie für den Einsatz können
Problem-Set.
Von größeren Kurskonzepten tatsächliche Funktionen, ist es gut und hilfreich,
wissen, was Sie mit vor werden ausgerüstet Bewältigung des Problems Satz.
>> Lassen Sie uns zuerst über Sprites reden.
Sprites sind zentrale Rolle dabei spielt Projekte in Scratch.
Jedes Objekt oder jedes Zeichen, sei es eine Katze, ein Hund oder ein
ball, heißt ein Sprite.
Wenn ich, sagen wir, zwei Katzen in meinem Projekt, Ich muss zwei machen
getrennte Sprites in Scratch, auch wenn sie sind absolut identisch.
>> Jedes Sprite hat Skripte zugeordnet mit diesem spezifischen Sprite.
Scripts sind das, was du gehst zu werden, indem Sie bauen
and-Drop-Blöcke.
Scripts sind Anweisungen, die bestimmen und definieren
wie verhält sich das Skript.
>> Nun sind Sprites nicht nur Bilder.
Ein Sprites Kostüm bestimmt was das Sprite aussieht.
Jede gegebene Sprite kann mehr als ein Kostüm.
Ein wenig später in dieser exemplarischen Vorgehensweise werde ich zeigen Ihnen, wie Sie Ihre
Sprite Änderung Kostüme während Ihres Programms.
>> Um ein Sprite in Scratch erstellen, können Sie entweder seine ursprüngliche Kostüm für
Scratch Bibliothek, ziehen Sie Ihre eigenen in Scratch gebaut-in Lack-Editor
Ihr eigenes Bild hochladen, oder nehmen Sie ein Bild mit Ihrem Computer Kamera.
Alle Sprites platziert auf das, was wir die Bühne rufen.
Die Bühne ist wie unsere Leinwand, wo Sprites können sich frei bewegen.
>> Obwohl wir haben ein Vielfaches Sprites, kann es nur eine Bühne.
Ansonsten sind Stufen und Sprites ganz ähnlich, dass von der Bühne
auch Skripte.
Scripts auf der Bühne sind sehr nützlich wenn Sie nicht über ein Skript, das
nicht notwendigerweise betreffen auf ein bestimmtes Sprite.
Vielleicht bezieht sich auf mehrere streifen, oder gar keine.
>> Es ist generell ein gutes Design zu platzieren Sie Ihre Skripte auf der Bühne, wenn sie
allgemein genug, und beziehen sich nicht auf bestimmte Sprites.
Und genau wie Sprites haben Kostüme, Stufen haben Kulissen, die sich ändern
über den Verlauf des Programms.
Und Sie können ziehen Sie Ihre eigenen, laden ein Bild, ein Bild aufzunehmen, oder verwenden Sie die
Scratch Bibliothek Kulissen.
Sowohl die Bühne und Sprites können auch spielen Sounds from Scratch Bibliothek oder
Sie hochladen können und notieren Sie Ihre eigenen.
>> Um Ihre Scratch Programm werden Sie beginnen müssen Sie die grüne Flagge an der Klick
oberen rechten Ecke der Bühne Fenster.
Aber wenn Sie nichts an dieser Block hier, dann ist nichts
tatsächlich passieren wird, weil Ihr Sprites und die Bühne muss gesagt werden,
auf das Ereignis der antworten grüne Flagge angeklickt.
So müssen Sie die Blöcke zu befestigen Nut an der Unterseite des grünen
Flagge, und dann wird das Programm auszuführen diese Maßnahmen, wenn Sie beginnen
Ihr Programm.
>> Nun, was kommt danach?
Nun, Scratch viele Blöcke für Sie zu nutzen, und Sie können
sogar Ihre eigenen.
Du wirst sehen, drei Registerkarten, Scripts, Kostüme und Sounds.
Unter der Scripts tag sind Kategorien von Aussagen.
Statements sind bequem organisiert von Farbe.
Sie haben Maßnahmen im Zusammenhang mit Bewegung, Klang, Aussehen und so weiter.
Obwohl Sie haben andere Blöcken gebaut um Ihre Aussagen, es ist die
Aussagen, die die Sprites helfen oder die Bühne, um etwas zu tun, während
andere Bausteine helfen, festzustellen, wenn sie zu tun.
>> Nehmen wir an, Sie erstellen Ihre ganz erstes Projekt und Sie wollen nur das
Katze zu miauen unter bestimmten Umständen.
Um dies umzusetzen, können wir Vorteil Booleans.
Das sind Ausdrücke, die bewerten entweder wahr oder falsch.
In Scratch diese werden durch die identifizierte Winkel am Ende der Blöcke.
Sie haben eine Vielzahl von verschiedenen Arten von Booleans wie ist die Maus
nach unten gedrückt wird, ist 2 plus 2 gleichzusetzen bis 5 ist, oder der Benutzer durch Drücken
unten eine bestimmte Taste auf der Tastatur?
>> Jetzt können Sie nicht einfach diese Booleans allein.
Sie müssen sie mit kombinieren nennen wir Bedingungen.
Zustand Blöcke können in gefunden werden die orangefarbenen Kontrolle Aussagen.
AGB bequem ein wenig Platzhalter, die die Form zeigt
der Block, die Sie brauchen in sie setzen.
Also je nach Kontext der Situation können Sie einen booleschen
und legen Sie sie in Ihrem Zustand.
Und zusammen haben Sie eine bedingte Anweisung.
Sobald Sie in Anweisungen innerhalb dass blockieren Sie haben eine Struktur, die auf
wobei, wenn eine bestimmte Bedingung erfüllt ist, dann führen Sie die
Aussagen.
>> Einer der Vorteile von Computern ist die große Kraft und Geschwindigkeit, mit der sie
können sich wiederholende Prozesse auszuführen.
Anstelle von, sagen wir, ein Wiederholen Instruktion über und über und über
wieder und tatsächlich eingeben, dass Sie oder in diesem Fall per Drag & Drop
und Drag & Drop, was wir kann, kapseln in einer Schleife zu tun.
>> Loops können verwendet werden, um entweder auszuführen Dinge mit einem unendlich forever-Schleife,
oder für eine bestimmte Anzahl von Malen.
Zum Beispiel, wiederholen Sie die Anweisung, sagen hallo, 10-mal, oder vielleicht bis zu einem bestimmten
Bedingung wahr ist.
Und mit dieser Repeat Until blockieren Sie sehen, dass Scratch wird deutete an, dass
Sie müssen in einen booleschen platzieren die Repeat Until Block eine machen
bedingte Anweisung.
>> Jetzt wissen wir, dass wir kapseln wiederholende Prozesse innerhalb von Schleifen,
so kann man sehen, warum so etwas wie könnte dies nicht ideal.
Es ist super lange, es funktioniert einfach die gleiche Sache immer und immer
wieder, 10-mal in der Tat.
Es bewegt sich 10 ***, sagt hallo, 10 Stufen bewegen, sagt hallo.
Aber mit Hilfe von Schlaufen wir kann ordentlich dies ein wenig.
Sehen Sie, wie so viel besser ist.
Es ist kürzer, es ist kleiner und es schließt die gleiche Sache.
>> Bewegen Sie sich auf Variablen.
Variablen sind im Wesentlichen Container für Werte.
In Scratch, können diese Arten von Werten entweder Wörter oder sie können
Zahlen, Werte, die wir haben die Kontrolle über.
In diesem ersten Block haben wir eine Text Variable, die die
Wert, Hallo, Welt.
In dem zweiten Beispiel ist angenommen, dass wir haben bereits eine Variable mit dem Namen
Zähler und wir Inkrementieren um drei.
Und dann, im letzten Beispiel, sehen wir Beispiel für Variablen verwendet
innerhalb von Bedingungen.
In diesem Block können, bitten wir, wenn die Variable Zähler kleiner als Null ist.
>> Nun, wenn Sie eine Variable erstellen Sie zu entscheiden, ob Sie das machen
Variable zur Verfügung, um alle Sprites in Ihrem Programm Scratch, oder
nur für die spezifischen Sprites ausgewählt wenn Sie die Variable zu machen.
Und dies ist eine sehr wichtige Entscheidung zu treffen.
Es kommt darauf an, welche Möglichkeiten Sie wollen die Variable zu haben.
>> Ein Beispiel für lokalen Bereich wäre ein Variable nur für ein bestimmtes Sprite,
was bedeutet, dass nur das Sprite würde in der Lage sein, um zu sehen oder zu modifizieren.
Wenn Sie feststellen, eine Variable mit globalen Rahmen, indem für alle
Sprites, dann bedeutet das, dass die Bühne, sowie alle Sprites,
in der Lage sein zu sehen, zu modifizieren, Zugang und dass
Variable, die Sie erstellt haben.
Und in Bezug auf Design, ist es am besten wählen lokalen Bereich, wenn Sie können
gerade so, dass der Rest der Sprites Bühne und haben keine Sorgen zu machen
Verfolgung dieser Variablen.
>> Sie können tatsächlich zwei Variablen der gleiche Name für verschiedene Sprites als
Solange das sind lokale Variablen.
Sprite ein, eine Katze, kann eine variable Name Zähler und zwei Sprite, ein Hund,
kann auch eine Variable Zähler, solange diese
sind beide lokalen Variablen.
Da der Umfang der variable bezieht sich nicht auf den Rest der Verlängerung
Programm, und keiner der anderen Sprites oder die Bühne verwirrt.
>> Früher habe ich erwähnt, den Einstiegspunkt, wenn die grüne Flagge Block geklickt.
Dieser Block und die damit einhergehende Aussagen beruhen im Wesentlichen erzählt
Ihre Sprites oder die Bühne, OK, wenn die grüne Flagge angeklickt wird, ist dies
was Sie tun sollten.
Aber das ist nicht der einzige Fall, dass Sprites und die Bühne zu reagieren.
Wir haben zum Beispiel ein Ereignis für wenn eine Taste auf der Tastatur gedrückt wird.
Sie können tatsächlich wählen die Buchstaben A durch Z, null bis neun oder
Pfeiltasten.
>> Es gibt auch andere Veranstaltungen zu organisieren, wie als wenn das Sprite geklickt wird.
Wenn Sie beginnen mit Ereignisblöcke wie diese, werden Sie feststellen, einen Trend.
Sie alle haben eine einzige Gruppe auf der Boden und eine glatte Oberseite, die
zeigt, dass nichts über legt auf diesen Block.
Sie bauen unter diesen Ereignissen Blöcke und bauen nach unten.
>> Was passiert nun, wenn wir ein Ereignis wollen passieren, sagen wir, wenn eine Katze ist
Berühren eines bestimmten Abschnitt der Bühne?
Wir haben eigentlich haben keinen eingebauten Ereignis, dass bedeuten, so was wir
tun müssen, ist unsere eigene Veranstaltung erstellen.
Und das heißt Rundfunk.
>> Also, wenn Sie wollen, um zu signalisieren, dass ein bestimmtes Ereignis eingetreten ist, dann
mit einem schwarzen genannt Broadcast, die wird in der Registerkarte Steuerung gefunden.
Dort finden Sie im Namen des Typs Fall, dass Sie übertragen möchten, und
dann je nachdem Sprite oder Stufe kann darauf reagieren
ausgestrahlt werden, wenn Sie dies wünschen.
Der Block Wenn ich Erhalten erzählt die Sprites was zu tun ist, wenn sie
mitgeteilt, dass Ihre benutzerdefinierten Ereignis eingetreten ist.
Also denken Sie daran, dass, wenn Sie übertragen ein Ereignis, ist es mit der
Verständnis, dass entweder eine der Sprites oder die Bühne zu gehen
erhalten, dass die Veranstaltung und darauf zu reagieren.
>> Nun, das letzte Konzept, bevor wir um ein tatsächliches Beispiel einer Scratch
Programm, ist das Konzept der Threads.
Das ist, wenn Ihr Computer ist Ausführen gleichzeitiger
Prozesse gleichzeitig.
Und ich bin sicher, wir haben alle gemacht Vorteil.
Wie das Surfen im Internet, während Musik hören.
Der Computer ausführen können mehrere Dinge zur gleichen Zeit.
>> In diesem Beispiel hier, diese beiden Skripte können verwendet werden für
genau das gleiche Sprite.
Der Einstiegspunkt Block, Wenn Green Flag Geklickt haben, wird mehrfach verwendet, aber
sie sind zwei getrennte Skripte.
In der Tat, klickte auf den Green Flag Block wird wahrscheinlich eines der am meisten sein
beliebte Blöcke in Ihrem Programm.
Hier sehen wir, dass, wenn die grüne Fahne ist geklickt haben, es gibt einen Prozess in Gang
auf, sowie eine weitere.
So Scratch tatsächlich laufen diese zwei an der exakt gleichen Zeit.
Und zu wissen, dass Sie tatsächlich haben mehr als ein Einstiegspunkt, auch wenn
es ist das gleiche Einstiegspunkt, wird wirklich nützlich zu sein, wenn du willst
getrennte Aufgabenbereiche voneinander.
>> In Ordnung.
So, jetzt haben wir alle diese abgedeckt Konzepte, lasst uns ein Beispiel an.
Ich habe eine Reihe von Scratch-Programmen gemacht, so versuchen zu folgen, wie wir
machen ein kleines Spiel.
Lassen Sie uns beginnen, indem Hungry Dino Null.
>> Lassen Sie uns auf die grüne Flagge zu starten und sehen, was es tut.
Wir haben einen Bug, der für ein Sprite bewegt paar ***, setzt in einiger Höhe und
dann einen Schritt zurück.
Und dann haben wir ein dino Sprite.
Durch Drücken der Pfeiltasten, ich bin bewegt die dino Sprite um, so dass es wiederum
und drehen.
Das kann ganz lustig sein, aber gibt es sehr viele
Skripte in diesem Programm.
Wir können auf jeden Fall noch hinzu.
>> Zum Beispiel, wenn die dino bewegt es können tatsächlich aus dem Bildschirm und
fast von der Baustelle verschwinden.
Das wollen wir ändern, weil wir wollen nicht die dino zu entkommen.
Also lasst uns aufhören unser Skript mit dem roten Flagge und bearbeiten Sie dann die dino Skripte.
Beachten Sie, dass diese besondere Skript ein immer-Schleife, die mit einem Ende
straight edge.
Es muss nicht jede Rille an der Unterseite.
Und das macht Sinn, aus dem Name, ein forever-Schleife.
Es ist die Ausführung etwas unendlich und wird niemals enden.
Also das ist eine große Chance einen Thread vorzustellen.
>> In Ordnung.
So fügen wir ein weiteres Skript.
Ich werde mit diesem Eintrag beginnen Punkt, wenn darauf geklickt wurde Green Flag.
Und ich will kontinuierlich überprüfen ob die dino sein wird
berühren den Rand.
Unter Bewegung gibt es eine nette kleine Block das sagt, wenn Bounce On Edge.
Und so wollen wir kontinuierlich führen diese.
>> Was diese Aussage macht, ist überprüft, ob das Sprite am Rande der
Bühne und springt zurück, wenn es ist.
Und weil der Benutzer immer die bewegen dino, wollen wir eine Art finden
Schleife, die uns ermöglicht, kontinuierlich diese Anweisung ausführen.
Ein Blick unter Kontrolle wir wählen Sie die Schleife immer.
Also lasst uns ziehen, dass in der dino Skripte, und dann
Wenn hinzuzufügen On Edge Bounce.
Und dann wollen wir testen unser Programm.
>> So wird der Fehler wie gewohnt bewegen, und dann, wenn wir testen unsere neue Skript von
Bewegen unsere dino an den Rand, sehen wir, dass es nicht
Flucht von der Bühne nicht mehr.
Es springt gleich wieder.
Nun könnte man fragen, warum die dino Bounces, aber nicht der Fehler.
Nun, das ist, weil wir unser neuestes schrieb Skript im Script dino
und nicht die Bugs.
So wird der Fehler nicht auf die hören Anweisungen gaben wir den Dino.
>> In Ordnung.
So fügen wir jetzt etwas Neues.
Wenn Sie auf die Registerkarte Kostüme gehen du wirst sehen, dass die verschiedenen Kostüme, die
kommen vorinstalliert mit Ihrem ausgewählten Sprites wenn Sie wählen Sie eine aus der
Scratch-Bibliothek.
Es ist das niedliche kleine dino chomp Kostüm, also lasst Umsetzung der dino
scharrt, wenn wir drücken, sagen, die Leertaste.
>> Zurück zu den dino Skripte.
In diesem Skript hier, ich bin schon Überprüfung in der forever-Schleife, ob
bestimmte Pfeiltasten gedrückt und Bewegen der dino entsprechend.
Wenn sie Pfeil nach links gedrückt wird, dino dreht gegen den Uhrzeigersinn.
Wenn der Pfeil nach rechts gedrückt wird, die dino dreht sich im Uhrzeigersinn.
Also, wenn der Pfeil nach oben gedrückt wird, dann die dino schreitet voran.
Wir können nur an das Skript anstatt hinzufügen Hinzufügen eines separaten weil
ist bereits die Überprüfung in das Thema die Tasten gedrückt.
>> Fügen wir eine, die für Kontrollen die Leertaste gedrückt.
Diese Blöcke werden hier überprüft für die Tasten gedrückt werden.
Sie sind alle in dem helleren Blau, so lasst uns strahlend blauen sensing gehen
Aussagen und sich umsehen.
Hier ist ein Key Spaced Press Block.
Also, was wollen wir tun ist, haben die dino wechseln, um seine Hacken unten Kostüm
dann, und nur dann, wenn der Raum Taste gedrückt.
>> Also lasst uns imitieren die Struktur hier.
Nun, die Änderung der Kostüm hat damit zu tun, wie die dino so aussieht werden wir zu gehen
Schauen Aussage.
Und tatsächlich, wir haben einen Schalter Kostüm zu Dino Chomp.
Nun, wenn wir chomp nach unten wollen wir nicht die dino sein scharrt sich immer,
so fügen wir eine Erklärung erzählen es zurück zu wechseln.
Es werde Kostüme Art schnell zu wechseln, aber, weil in Scratch Aussagen
wieder ausführen, um wirklich wieder schnell, fast augenblicklich.
Lassen Sie uns also auf Kontrolle gehen und dann machen die dino Pause für ein wenig durch das Warten
eine Sekunde nach dem es Chomps unten.
>> Lassen Sie uns nun den Fehler bearbeiten Sprite.
Der Fehler tritt vor fünf Sprite ***, die ein insgesamt fünf Mal, nachdem ein
kurzen Pause.
Im oberen Block hier der Fehler stellt sich bei einer bestimmten
x-Koordinate.
Um die Koordinaten Sie können tatsächlich finden Maus über den Bildschirm und
dann in der unteren Ecke der Bühne Fenster werden die Koordinaten so aktualisieren
Sie können die Vorteile dieses handliche nehmen verfügen, um die Koordinaten zu implementieren
die Sie wollen.
Und in dieser Aussage hier, weisen wir der Fehler mit der gleichen Start
X-Wert jedes Mal, aber eine zufällige holen Höhe für den Fehler, dass noch
Aufenthalte innerhalb der Grenzen der Bühne.
>> Sehen Sie hier, dass ich unter Ausnutzung der das Ereignis Rundfunk in Scratch.
Dieses Ereignis wird aufgerufen New bug1.
Also, wenn der Fehler erhält die New bug1 Veranstaltung
es wird die Anweisung auszuführen.
So, nachdem es nach vorne bewegt seinen Satz Höhe der Zeit, es tatsächlich
Sendungen die Veranstaltung New bug1.
>> Aber wie wir ändern dieses Skript ein wenig?
Im Moment haben wir den Fehler Bewegen fünf Schritten.
Das ist nicht viel, insgesamt fünfmal.
Wir wissen nicht wirklich, wie oft wird benötigt, bis der Fehler erreicht werden,
sagen, das Ende des Bildschirms, also lasst uns machen das aber bis zum Ende der
Bildschirm, sondern verwenden eine Art andere Konstrukt.
>> Ich werde diese zu trennen, weil wir gehen, um ein paar Dinge zu ändern.
Um Blocks von Scratch löschen Sie ziehen die Blöcke, um die
links und dann loslassen.
Und es wird gelöscht.
Wenn Sie sich entscheiden, dass Sie nicht wollen, dann können Sie gelöscht
gehe zu Bearbeiten und wiederherstellen.
Aber wir haben wollen, um Befreien Sie sich von diesem Block.
>> Was wollen wir jetzt tun müssen, ist zu bewegen, sagen wir, 50 Stufen und Pause einer Sekunde und
wiederholen, bis wir berühren das Ende des Bildschirms.
So verwenden wir eine Schleife, die uns erlaubt Wiederholen eines Prozesses, bis ein bestimmter
Bedingung erfüllt ist, treffend benannt Repeat Until.
>> Was geht in den Zustand einer Repeat Until?
Etwas, das uns sagt, ob die Bug berührt den Rand des
Bildschirm, die gehen, um unter sein wird Das Sensor-Statements.
Hier ist das Boolean, Berühren.
Und Sie können hier auswählen, was Sie überprüfen möchten.
Also werden wir wählen Touching Rand und fügen diese bedingte Anweisung zurück in.
>> So jetzt, wenn wir unsere Fehler sehen, wird es bewegen wieder einmal berührt
der Rand der Bühne.
Große.
Wir arbeiten mit Hungry Dino Null abgeschlossen, so öffnen wir Hungry Dino One.
Wie eine Art Koch-Show, habe ich hinzugefügt ein bisschen mehr Funktionen.
Zum Beispiel werden Sie sehen, dass der Fehler ist eigentlich ganz einfach gleiten jetzt
wie vor dagegen.
Unter Bewegung gibt es diese gleiten Aussage.
Nun gleitet der Fehler 70 Einheiten auf die Recht seiner aktuellen Ausstellung, aber
bleibt in der gleichen Position y hier.
Und wir können jetzt eine dino scharrt wie wir umgesetzt vor.
>> Aber ist dieses Programm nicht genannt Hungry Dion für nichts also lasst uns die
dino essen den Bug.
Wie könnten wir sagen, der Fehler, oder sagen die dino, dass sie abgeholzt hat?
Wie könnten wir dieses Ereignis zu kommunizieren?
Nun, wir wissen, dass, wenn wir den Schalter Kostüm für den dino dino zum chomp
dass wir chomped unten.
Und sagen, wir wollen die Fehler verschwinden sobald es gegessen.
Nun, wir haben zu prüfen, ob Der Fehler hat sich auf und wurde chomped
kommunizieren, um den Bug, dass es dann haben zu verstecken oder vom Bildschirm verschwinden
sobald es wurden chomped unten.
>> Also, welche Art von Konzept, welche Art von Werkzeug können wir nutzen, um die dino haben
kommunizieren, um den Bug, dass es hat chomped down?
Broadcasting.
So lasst uns gehen und Events hinzufügen ein Ereignis ausgestrahlt.
Chomp.
OK.
Aber denken Sie daran, dass wir einmal ausgestrahlt etwas müssen wir auch
erhalten diese Veranstaltung.
Also die Sprite ausgestrahlt chomp?
Nun, lasst uns das tun, dino wenn die Leertaste gedrückt wird.
>> Fügen wir einen Block zu chomp erhalten.
Jetzt, wo die dino kommt nur auf ein leerer Raum wollen wir nicht den Fehler
um sicherzustellen, dass bei reagieren, nur wenn das dino wurde das aber zu der Zeit berühren
der chomp tun wir eigentlich etwas tun.
So verwenden wir die Bedingung Wenn wegen Wir prüfen, ob etwas
wahr ist oder nicht.
>> Nun, wenn wir wieder nach Sensing, dann wir können diese Touching
blockieren und wählen Dino.
Dann unter Looks, finden wir diese ausblenden Block, der im Grunde machen werde den Bug
verschwinden von der Bühne.
>> Wir machen es zu verstecken, aber wir tun wollen andere Fehler, nicht wahr?
Unsere dino ist hungrig.
So wollen wir es noch einmal zu bug zu jagen.
Lassen Sie uns also auch Broadcast das Ereignis New bug1.
Außer wir wollen, dass es für eine Weile warten bevor ein anderer Fehler angezeigt wird, also lasst uns
auch eine Sekunde warten.
>> In Ordnung.
Lassen Sie uns also check this out.
Wir chomped unten ein, verschwindet aber, ein anderer erscheint, und wir chomp nach unten
darauf wieder.
Dies wird wie eine ziemlich suchen lustiges Spiel, aber alle Spiele
Gäste müssen, nicht wahr?
Also, was können wir nutzen, um Kurs zu halten von wie viele Bugs die dino gegessen hat?
Eine Variable.
So fügen wir eine Variable namens Ergebnis.
>> Und jetzt müssen wir entscheiden, was Umfang diese Variable hat.
So denken wir.
Während wir vielleicht wollen die aber zu erhöhen die Gäste, wenn es schon
erfolgreich gegessen, und die Bühne könnte haben etwas zu tun mit der
Gäste so gut, so weisen wir diese Variable für alle Sprites.
>> Wir wollen die Punktzahl zu erhöhen, wenn und nur dann, wenn ein Bug wurde gegessen.
Und wir haben bereits ein Skript geschrieben, dass Angebote mit einem Bug ist so gegessen
fügen wir diese eine Aussage in, ändern Spielstand von One.
Das bedeutet, dass, wenn Sie essen a bug die Punktzahl erhöht.
>> Wir spielen ein wenig und essen, Ich weiß nicht, drei Bugs.
So erhalten Sie müde von dem Spiel, gut, Sie drücken Sie die rote Stopp
anmelden, um das Spiel zu beenden.
Und wenn Sie wieder kommen möchten, werden drücken Sie die grüne Flagge wieder.
Aber es steht immer noch drei selbst wenn ich spiele ein neues Spiel.
Wir wollen nicht, um den Benutzern einen Kopf beginnen, so dass wir brauchen, um das Zurücksetzen
punkten, jedesmal wenn sie ein neues Spiel starten.
So fügen wir eine Erklärung auf die Bühne der Einstiegspunkt Skript um die
variable Punktzahl auf Null.
So, jetzt, wenn Sie ein Spiel starten, die Punktzahl wird bei null beginnen.
>> Jetzt öffnen wir Hungry Dino 2, wo Ich habe ein paar Dinge hinzugefügt.
Ich klickte auf den rechten Bug Sprite duplizieren Sie die Sprite, die eine gemacht
Sprite identisch mit meinem vorherigen.
Gift-Bug ist im Wesentlichen identisch mit Bug1 aber ich wählte ein neues Kostüm, weil
Ich dachte, es sah, na ja, Art giftig.
Statt der Erhöhung der Punktzahl, wenn das Gift bug gegessen wird, habe ich eigentlich
verringern die Bewertung durch Veränderung Punktzahl durch negative.
>> Und dann machte ich ein anderes Kostüm für unsere dino mit den Lack-Editor
machen einen kranken suchen dino und nannte sie Dino Sick.
Aber wir haben nicht mit diesem Kostüm in unserem Programm noch, so fügen wir einige
Anweisungen und Blöcke, die wird sich ändern Dino-Kostüm auf die grüne krank
Kostüm, wenn es isst a bug vergiftet.
>> Jetzt, da wir den Fehler Sprite vervielfältigt, das vergiftete bug hat alle
Die Skripte, die Original bug tut.
Wollte man kopieren über Skripte aus anderen Sprites, können Sie ziehen die
Skript auf der Oberseite des Sprite die Sie kopieren möchten.
Aber wir brauchen nicht zu tun, dass hier weil die vergifteten bug hat bereits eine
Skript, das überprüft, ob der Fehler wurde nach unten auf chomped.
Und wir können dies nutzen, um kommunizieren, um die dino, dass es ein aßen
giftig bug.
Und wir kommunizieren zwischen Sprites durch Rundfunk.
Also lassen Sie uns eine neue Sendung Veranstaltung namens Dino Sick.
>> Und wir wissen, dass wir ein Kostüm für haben die dino zu ändern, aber wir auch
wissen von früher, dass es am besten in einer Pause hinzufügen
zwischen Kostümwechsel.
Also, wenn ich Dino Kranke erhalten, werde ich zu Kostüm Dino Kranke zu ändern, warten
eine Sekunde und dann wechseln zurück zu Dino Hungry.
In Ordnung.
Wir spielen unser Spiel und essen ein Bug und der Käfer.
Und das Ergebnis um eins verringert.
>> Nun, manchmal möchte man feststellen, dass die Variable möglicherweise nicht auf das erscheinen
linken Ecke des Bildschirms.
Wenn Sie navigieren, um Daten unter Abschnitt die Skripte, sehen Sie dieses Häkchen
neben den Variablen, die Sie erstellen.
Und diese Blendet die Variable aus dem Bildschirm.
Aber Sie können auch eine Erklärung genannt anzeigen oder
Ausblenden einer bestimmten Variablen.
So verwenden wir diese Variable anzeigen Ergebnis zu sicherstellen, dass jedes Mal, wenn wir beginnen
Das Spiel wird die Variable gezeigt.
Große.
>> Also lasst uns das Spiel laufen und essen ein Gift Fehler sofort.
Nun, es ist ein wenig seltsam, ein Spiel zu haben zu negativen Punkte haben, nicht wahr?
Also lasst uns vorstellen ein weiteres Merkmal.
Wenn der Dino isst zu viele giftige Bugs dann wird es zu krank und die
Spiel ist vorbei.
So, dies umzusetzen, werden wir ausgestrahlt ein anderes Ereignis, Game Over.
Wie können wir wissen, wann sie ausgeführt Dieses Game Over Sendung?
>> Nun, wir können tun dies mehrere Möglichkeiten.
Wir können ein Skript in der Bühne haben, dass kontinuierlich überprüft, ob die Punktzahl
negativ ist oder nicht, und sendet Game Over, wenn die
Punktzahl wird negativ.
Oder wir könnten die Tatsache zunutze nehmen dass der einzige Weg die Partitur jemals
negativ sein soll, wenn ein giftiges bug gegessen wird.
Weil, wenn Sie essen die anderen Fehler, die Punktzahl erhöht.
Es hat keinen Zweck zu überprüfen, ob es Game Over sollte oder nicht, wenn Sie
essen eine essbare bug.
>> So können wir eigentlich nur auf den Button Skript, das die Dino Kranke erhält
Veranstaltung Sendung.
Wir wollen anweisen die dino wie folgt.
Wenn die Punktzahl kleiner als Null ist, ausgestrahlt Game Over.
Also werden wir bauen das Ergebnis kleiner als Null Zustand mit einem Block von der
Betreiber Abschnitt, und ziehen in unserer Partitur zu diesem Block.
Und hier sehen, können Sie einfach per Drag & das variable Partitur und setzen weniger als Null ist.
Und wir werden ausgestrahlt ein neues Event, Game Over.
>> Aber wenn die Gäste nicht unter gegangen Null ist, wollen wir den Dino zu
weiterhin das Spiel.
Also statt der Verwendung eines, wenn hier, lasst eine if else-Konstrukt.
Eine if else-Konstrukt erzählt unsere dino zu eine Sache, wenn die Bedingung erfüllt ist
und eine andere Sache, wenn die Bedingung falsch ist.
Der Körper unseres ersten, wenn kann in gehen das, wenn andere, so dass wir in. ziehen
Aber wenn die Gäste nicht weniger als Null ist, dann lass uns wechseln zurück zum
Hungry Dino Kostüm.
Wir wollen nicht, dass präventiv tun.
Große.
>> Aber da wir ausgestrahlt Game Over, müssen wir noch eine machen
Ereignis-Block.
Es ist eigentlich ein Stop All-Anweisung in der Steuerung, also lasst uns diesen an
wenn ich empfangen Game Over.
Aber wir wollen auch den Bug zu stoppen, so wir ziehen dieses Skript auf allen
der Bug Sprites sowie die Bühne.
Lassen Sie uns versuchen, diese aus.
>> Essen einen giftigen Bug rechts weg, stoppt das Programm wie erwartet.
Keiner der anderen Bugs bewegen und weder funktioniert das dino wenn Sie drücken
unten den Pfeiltasten.
Aber lassen Sie uns sagen, dass wir nicht wollen, um daran zu erinnern, der Benutzer ihrer negativen Punkte, so
wir verstecken die Variable Ergebnis aus die Bühne, wenn das Spiel
Over Ereignis empfangen wird.
In Ordnung.
>> Also das ist ein recht ordentliches Spiel.
Mit mehr Zeit können Sie weitere Sprites und mehr Skripte.
Vielleicht sind die Bugs bewegen kann mit unterschiedlichen Geschwindigkeiten.
Sie können einen neuen Hintergrund auf die Bühne -
ein Game Over Kulisse -
so dass, wenn die Phase der empfängt Game Over Ereignis, kann es an den Schalter
Game Over Kulisse und alle der Sprites verstecken.
Viele kleine Verbesserungen vorgenommen werden, um Ihr Spiel ein wenig mehr poliert.
>> Und dies ist nur ein Beispiel für eine Projekt, dass man in Scratch machen
mit allen Tools, die wir bereits besprochen haben -
Sprites, Kostüme, Bühnen, Kulissen, Bedingungen, Schleifen, Variablen,
Übertragungen von Veranstaltungen und Themen.
Hungry Dino verwendet keine Sound Effekte, aber können Sie ganz einfach Ihre
eigenen, indem Sie zu der Registerkarte Sounds und Ausflüge in die fundierte Aussagen.
Scratch ist eine großartige Einführung in Programmierung, so kreativ zu sein
und, was am wichtigsten ist, Spaß zu haben.
Mein Name ist Zamyla, und dies ist CS50.