robotik:lektion2:16_taster [NwT am Albert-Einstein-Gymnasium Reutlingen]

Benutzer-Werkzeuge

Webseiten-Werkzeuge


robotik:lektion2:16_taster

16 Taster

Erzeuge eine neue Roboterklasse mit Namen Taster und ersetzte die Steuerungsbefehle des Beispielcodes im Hauptprogramm durch folgende Zeilen:

pilot.setzeZaehlerstaendeZurueck();
pilot.setzeSollgeschwindigkeitMaximal();
pilot.setzeSollbeschleunigung(20);
 
monitor.loescheAlles();
monitor.schreibe("Links-", 5, 1);
monitor.schreibe("oder", 6, 2);
monitor.schreibe("Rechts-Taste", 3, 3);
monitor.schreibe("druecken !", 4, 4);
 
do
{
    uhr.warteZeit(5); // kurze Wartezeit
 
    if (linkstaste.istGedrueckt())
    {
        monitor.loescheAlles();
        lautsprecher.spieleBeepfolgeAufwaerts();
        pilot.dreheUmWinkel(-360,ABWARTEN);
    }
    else
    {
        if (rechtstaste.istGedrueckt())
        {
            monitor.loescheAlles();
            lautsprecher.spieleBeepfolge();
            pilot.dreheUmWinkel(360,ABWARTEN);
        }
    }
}
while(pilot.holeAusrichtungswinkel() == 0);
 
monitor.schreibe("Endetaste", 5, 3);
monitor.schreibe("druecken!", 5, 4);
endetaste.warteBisEreignisLosgelassen();

Wie wird sich der Roboter verhalten? Informiere dich in der Dokumentation zu den Objekttypen ITastsensor, IPilot, IMonitor und ILautsprecher über die verwendeten Befehle.

Übertrage nun das Programm auf den Roboter und teste das Programm. Falls sich der Roboter nicht wie erwartet verhält, solltest du dir das Programm noch einmal genau anschauen.


Verständniskontrolle

Finde in der folgenden Auswahl alle richtigen Aussagen.

  • Den schreibe-Befehl von IMonitor kann man auch verwenden, um den Inhalt einer Ganzzahl- oder Fließkommazahl-Variable auszugeben.
  • Jede der vier Tasten auf dem Roboterbaustein wird im Roboterprogramm durch ein eigenes Steuerungsobjekt repräsentiert.
  • Der Befehl istGedrueckt von IDrucktaster liefert als Ergebnis eine 1 (gedrückt) oder eine 0 (nicht gedrückt).
  • Der Befehl istGedrueckt von IDrucktaster liefert als Ergebnis eine Ja/Nein-Information (Java-Datentyp: boolean) und kann deshalb als Bedingung einer do-while-Schleife oder einer if-Verzweigung verwendet werden.
  • Den schreibe-Befehl von IMonitor kann man auch verwenden, um den Inhalt einer Ganzzahl- oder Fließkommazahl-Variable auszugeben.
  • Jede der vier Tasten auf dem Roboterbaustein wird im Roboterprogramm durch ein eigenes Steuerungsobjekt repräsentiert.
  • Der Befehl istGedrueckt von IDrucktaster liefert als Ergebnis eine 1 (gedrückt) oder eine 0 (nicht gedrückt).
  • Der Befehl istGedrueckt von IDrucktaster liefert als Ergebnis eine Ja/Nein-Information (Java-Datentyp: boolean) und kann deshalb als Bedingung einer do-while-Schleife oder einer if-Verzweigung verwendet werden.


Die do-while-Schleife ist hier etwas trickreich. Die Schleife wird wiederholt, solange noch keine Taste gedrückt wurde. Dazu wird am Ende eines jeden Schleifendurchlaufs geprüft, ob der Roboter sich immer noch in der Ausgangsrichtung (Ausrichtungswinkel 0°) befindet. Dies ist nur dann der Fall, wenn noch keine Taste gedrückt wurde.

robotik/lektion2/16_taster.txt · Zuletzt geändert: 2016/10/19 19:02 von gollnik