Programmieren leicht gemacht - adäquate Modelle für den Einsatz im Unterricht/ Ein Autorennen

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Ein Autorennen[Bearbeiten]

Anlegen von Variablen[Bearbeiten]

In diesem Projekt werden erstmals Variablen erstellt und benutzt. Weiters wird das Konzept einer Zufallszahl eingeführt. Zu Beginn zeichnen wir ein Auto, welches wir mit dem Namen „Auto“ versehen. Um eine Variable für dieses Objekt zu erstellen, klicken wir die „v“-Schaltfläche an, die sich im Betrachter neben dem Names des Objekts befindet. Unsere Variable benennen wir „geschwindigkeit“ und klicken danach auf die Schaltfläche „ok“, um diese zu erstellen und sie zum Betrachter des Objekts hinzuzufügen:


Autorennen1.png


Ziehen Sie nun den grünen Zuweisungspfeil der Kachel „Autos geschwindigkeit“ in Ihren Arbeitsbereich. Damit erstellen Sie ein Skript für die variable „geschwindigkeit“-Kachel des Autos:


Geschwindigkeit.png

Klicken Sie nun den Namen des Objekts an. Nun erscheint folgendes Menü:


Menue squeak2.png

Wählen Sie daraus den Eintrag „Gib mir eine Kachel mit einer Zufallszahl“ aus. Ersetzen Sie nun den Wert von „geschwindigkeit“ im Skript durch die Zufallszahl-Kachel. Darin soll nun noch die Zufallszahl durch eine Zahl kleiner als 20 ersetzt werden:


Zufallszahl.png

Damit unser Auto vorwärts fährt, soll nun die Kachel „Auto gehe vorwärts“ in das Skript eingefügt werden:


SkriptZufall.png

Der Zahlenwert dieser Kachel soll nun durch die Geschwindigkeits-Kachel ersetzt werden:


GeschwKachel.png

Nun können wir unser Skript durch Klicken auf die Uhr ausführen und beobachten, was passiert. Das Auto bewegt sich mit jedem Ticken der Uhr um eine zufällige Anzahl (zwischen 1 und 20) an Pixeln vorwärts. Wir öffnen nun den Detail-Betrachter, um diese Änderung der Zahlenwerte zu beobachten. In der Variablen-Kategorie befindet sich neben der Variable „geschwindigkeit“ in Icon, welches wie ein kleines Menü aussieht. Klicken Sie dieses nun an und wählen Sie den Eintrag „Ausführlicher Beobachter“ aus dem sich öffnenden Menü aus:


DetailBeobachter.png

Platzieren Sie diesen Betrachter an einer beliebigen Stelle auf Ihrem Arbeitsbereich:


Position.png

Führen Sie das Skript nun mit Hilfe des gelben Rufzeichens aus und beobachten Sie dabei die sich ändernden Zahlenwerte im Detail-Beobachter der Variable „geschwindigkeit“. Malen Sie nun ein zweites Auto, am besten in einer anderen Farbe und benennen Sie beide Autos entsprechend ihrer Farbe:


ZweiAutos.png

Malen Sie nun mit Hilfe der Malwerkzeuge zwei Linien, die genügend weit voneinander entfernt sind. Eine davon stellt die Startlinie, die andere die Ziellinie für das Autorennen dar:


Startlinie.png

Öffnen Sie nun den Betrachter des nachträglich hinzugefügten Autos und fügen Sie eine neue Variable „geschwindigkeit“ hinzu. Setzen Sie den Zahlenwert auf eine Zufallszahl. Wichtig dabei ist vor allem, dass der Höchstwert für diese Zufallszahl bei beiden Autos gleich lautet:


Auto rot.png

Legen Sie für dieses Auto ebenfalls in analoger Weise ein Skript an, wie Sie dies bereits für das erste Auto getan haben:


Auto rot2.png

Legen Sie nun für die Variable „geschwindigkeit“ des roten Autos ebenfalls einen Detail-Betrachter an:


Rot detail.png

Klicken Sie nun die „normal“-Schaltfläche in den Skripts beider Autos an und wählen Sie den Eintrag „angehalten“ aus dem sich öffnenden Menü aus:


Angehalten.png

Ziehen Sie nun den Icon „Skriptkontrolle“ aus dem Lager-Menü:


Stop go.png

Klicken Sie auf den „step“-Button und beobachten Sie die Zahlenwerte in den Detail-Betrachtern der beiden Autos:


Autorennen2.png

Erweiterung des Projekts „Autorennen“[Bearbeiten]

Das erstellte Autorennen kann nun noch ein wenig modifiziert werden. Die folgende Aufgabe besteht nun darin, dass die Autos an der Ziellinie zum Halten gebracht werden sollen.

Dazu soll nun zuerst einmal die Startlinie aus dem Projekt entfernt werden.

Benennen von Skripten[Bearbeiten]

Gerade bei komplexer werdenden Projekten ist es von Vorteil, die Skripte zu benennen. Klicke dazu auf das Wort „Skript1“ im Kopf jedes Skripts, um es zu benennen:


Skript autorennen.png

Die Test-Kachel[Bearbeiten]

Füge nun dem Skript eine „test“-Kachel hinzu. Die Funktionsweise dieser Kachel kann mit einer gewöhnlichen if-Verzweigung verglichen werden:


Autorennen test.png

Die „Farbe sieht“-Kachel[Bearbeiten]

Füge jedem der Skripte „Farbe sieht“-Kacheln hinzu, welche in der Kategorie „Tests“ im Betrachter enthalten sind:


FarbeSieht.png

Die Sensoren sollen bei beiden Autos jeweils die gelben Scheinwerfer darstellen. Klicke dazu das Feld vor „Farbe sieht“ an und klicke mit der sich öffnenden Pipette auf einen der beiden Scheinwerfer des Autos. Anschließend soll die Farbe ausgewählt werden, auf die der Sensor ansprechen soll. In unserem Fall ist dies die Farbe der Ziellinie, also schwarz:


Auto pipette.png


Sensor ziellinie.png


Falls nun einer der beiden Scheinwerfer mit der Ziellinie in Berührung kommt, soll das Skript „autorennen“ beendet werden.

Die „stoppe Skript“-Kachel[Bearbeiten]

Füge dazu die Kachel „stoppe Skript“ aus dem Menü „Skriptverwaltung“ in den Ja-Zweig der Testanweisung ein:


StoppeSkript.png

Ziehe nun die beiden bereits im Skript vorhandenen Befehle auf die Nein-Position der Test-Anweisung:


AutoSkript.png


Ja nein.png

Diese Änderungen werden für das blaue Auto in analoger Weise vorgenommen. Führe nun alle Skripte durch Betätigen des „go“-Buttons aus. Du wirst bemerken, dass die Autos stehen bleiben, sobald sie die Ziellinie erreicht haben. Damit sich die Auto jedoch gegenseitig anhalten, ist nur noch eine geringfügige Modifikation notwendig.


Füge nun bei beiden Autos die „stoppe Skript“-Kachel des jeweils anderen Autos im Ja-Zweig der Test-Anweisung ein:


StoppeSkriptblau.png

Das fertige Projekt sieht nun folgendermaßen aus:


Autorennen fertig.png

Speichern des Projekts[Bearbeiten]

Um es zu speichern, klicke auf den „Veröffentlichen“-Button des Navigator-Menüs. Dort kannst du eine detaillierte Beschreibung deines Projekts angeben:


Details Projekt.png

Du wirst danach aufgefordert, ein Verzeichnis zu wählen, wo dein Projekt gespeichert werden soll. Klicke anschließend auf den „Speichern“-Button:


Verzeichnis.png

Herunterladen des fertigen Projekts als Datei[Bearbeiten]

Detaillierte Informationen zur Dekodierung des angeführten ASCII-Textes finden Sie unter Wichtige Information zum Herunterladen der Beispielsdateien.

Den zugehörigen ASCII-Text finden Sie hier.

Das fertige Projekt kann auf http://finanz.math.tu-graz.ac.at/~pachernegg/Squeak_Autorennen.html betrachtet werden!