Programmieren leicht gemacht - adäquate Modelle für den Einsatz im Unterricht/ Einfache Interaktion mit dem Benutzer

Hier soll an einem einfachen Beispiel die Verwendung von so genannten events erläutert werden. Events rufen Methoden auf, wenn vom Benutzer ein bestimmtes Verhalten an den Tag gelegt wird (z.B. Mausklick auf ein Objekt, Drücken einer bestimmten Taste). Folglich dienen sie zur einfachen Interaktion mit dem Benutzer. Weiters soll in diesem Beispiel erklärt werden, wie Eingaben von Seiten des Benutzers in Methoden verarbeitet werden können und welche vielfältigen Möglichkeiten dafür zur Verfügung stehen.

Erzeugen des ObjektsBearbeiten

Wir beginnen nun mit dem Einfügen des Objekts cheshireCat in unsere leere Welt. Im Folgenden wird dieses Objekt der Einfachheit halber einfach als Katze bezeichnet.


 

Der vorgegebene Name von Objekten kann übrigens auch jederzeit geändert werden (mittels Rechtsklick auf das Objekt im Verzeichnisbaum - Klick auf rename; die Änderung wird mittels Return bestätigt)

Die Methode cheshireCat.sprechenBearbeiten

Nun fügen wir der Katze eine neue Methode sprechen hinzu. Zuerst soll die Katze 1 Meter in Richtung Kamera bewegen:


 

Um die Katze nun mit dem Benutzer sprechen zu lassen, wird folgende Methode hinzugefügt, wobei die Hintergrundfarbe der erscheinenden Sprechblase mittels bubbleColor gewählt werden kann. Auf analoge Weise kann die Schriftfarbe mittels textColor festgelegt werden:


 

Die Variable duration gibt an, wie lange die Sprechblase angezeigt wird, bevor sie wieder verschwindet:


 

Nun legen wir einen neuen String an, den wir mit "Name" bezeichnen. In diesen wollen wir den vom Benutzer eingegebenen Namen speichern. Um diesen String in unserer Methode verwenden zu können, ziehen wir ihn einfach mittels drap-and-drop an die gewünschte Position:


 

Reaktion auf Eingaben vom BenutzerBearbeiten

Um zu ermöglichen, dass der Benutzer Eingaben tätigen kann, fügen wir unserer Methode die Funktion ask user for a string (mittels drap-and-drop) hinzu:


 

Den Text der auf diese Weise erzeugten Eingabeaufforderung kann folgendermaßen gewählt werden:


 

Der Titel der Eingabeaufforderung wird in der Variable "title" gespeichert:


 



 

Der vom Benutzer eingegebene Name wird also dementsprechend in unserer Variable "Name" gespeichert. Die Katze soll den Benutzer nun mit seinem eingegebenen Namen begrüßen:


 

Konkatenation von StringsBearbeiten

Die Funktion "a" joined with "b" ermöglicht dabei, die Konkatenation zweier Teilstrings a und b zu einem neuen String:


 

Die Konkatenation kann dabei beliebig ineinander verschachtelt werden, sodass die resultierende Sprechblase folgenden Text enthalten soll:


 

Um die Entscheidung des Benutzers zu speichern, wollen wir nun einen neuen String „datumUhrzeit“ anlegen:


 


 

Die dafür benötigte Dialogbox soll folgenden Text bzw. Titel besitzen:


 

If-AnweisungBearbeiten

Wir wollen nun abfragen, welche der beiden Optionen (Uhrzeit oder Datum) der Benutzer gewählt hat. Dazu benötigen wir eine If-Anweisung:


 

In der Variable datumUhrzeit wurde die Entscheidung des Benutzers (uhr oder datum) gespeichert. Dementsprechend muss dieser Wert nur noch verglichen werden. Im Weiteren gehen wir davon aus, dass der Benutzer entweder die Zeichenfolge uhr oder die Zeichenfolge datum eingegeben hat und bei dieser Eingabe auch keinen Fehler gemacht hat:


 


 

Je nachdem, welche Option der Benutzer gewählt hat, soll die Sprechblase der Katze einen darauf abgestimmten Text beinhalten:


 

Da die Funktionen hour of day, month of year,... jeweils eine Zahl zurückliefern, müssen wir diese zuerst in einen String umwandeln, da der Text, der in der Sprechblase angezeigt wird, nur aus einzelnen Strings zusammengesetzt werden darf. Dafür legen wir den String "stundeString" an, indem die aktuelle Stunde als String gespeichert werden soll:


 


 

Die Umwandlung in einen String erfolgt mit Hilfe der Funktion „what“ as a string:


 


 

Die Vorgangsweise für die aktuelle Minute läuft analog ab. Zuerst legen wir wiederum einen String minutenString an, in welchem die aktuelle Minute gespeichert wird:


 

Die Sprechblase soll Folgendes enthalten:


 


 

Im else-Zweig fügt man nun Folgendes ein:


 


 


 

Unabhängig von der vom Benutzer ausgewählten Option, soll sich die Katze zum Schluss der Animation vom Benutzer verabschieden:


 

Die Methode world.my first methodBearbeiten

Nun müssen wir in der Methode world.my first method noch diejenigen Methoden einfügen, die beim Start der Animation ausgeführt werden sollen. Zu Beginn soll die Katze sich in Richtung Kamera drehen:


 

Erstellen eines EventsBearbeiten

Wir wollen nun erreichen, dass die von uns implementierte Methode cheshireCat.sprechen erst dann ausgeführt wird, wenn der Benutzer mit der Maus auf die Katze klickt. Um dies umzusetzen, müssen wir ein neues Event erzeugen:


 


 


 


 


 

Um die zusammengestellte Animation anzusehen, muss nun nur noch der Play-Button gedrückt werden.

Herunterladen der erstellen Animation als DateiBearbeiten

Die vorgestellte Animation kann auf http://finanz.math.tu-graz.ac.at/~pachernegg/informatik_didaktik.html unter InteraktiveAnimation.a2w heruntergeladen werden!