Kontrolle#

Einführung#

Die Control-Blöcke in VEXcode AIM steuern den Projektablauf, indem sie Schleifen und Bedingungen verarbeiten und die Ausführung von Blöcken verzögern.

Eine Schleife ist eine Abfolge von Schritten, die ein Computer so lange wiederholt, bis er zum Stopp aufgefordert wird. Eine Bedingung ist eine Regel, die der Computer prüft, um sein nächstes Vorgehen festzulegen. Beispielsweise kann sich ein Roboter vorwärts bewegen, wenn ein Sensor ein Objekt erkennt.

Nachfolgend finden Sie eine Liste aller Blöcke:

  • wait — Unterbricht die Ausführung von Blöcken für eine bestimmte Dauer.

  • wait until — Unterbricht die Ausführung von Blöcken, bis eine bestimmte Bedingung erfüllt ist.

  • repeat — Wiederholt eine Reihe von Blöcken eine bestimmte Anzahl Male.

  • forever — Wiederholt eine Reihe von Blöcken unendlich oft.

  • repeat until — Wiederholt eine Reihe von Blöcken, bis eine Bedingung erfüllt ist.

  • while — Wiederholt eine Reihe von Blöcken, solange eine Bedingung erfüllt ist.

  • if — Führt eine Reihe von Blöcken aus, wenn eine Bedingung wahr ist.

  • if / else — Führt einen Blocksatz aus, wenn eine Bedingung wahr ist, andernfalls einen anderen.

  • if / else if / else — Führt je nach mehreren Bedingungen unterschiedliche Blocksätze aus.

  • break — Verlässt sofort eine repeat, forever, repeat until, oder while Schleife.

  • stop project — Beendet das Projekt.

Warten#

Der wait-Block pausiert die Ausführung mehrerer Blöcke für eine bestimmte Zeitspanne, bevor zum nächsten Block übergegangen wird.

Wartestapelblock#
warte (1) Sekunden

Parameter

Beschreibung

Zeit

Die Wartezeit, als positive ganze Zahl oder Dezimalzahl in Sekunden.

Beispiel

Nach dem Start bewegt es sich eine Sekunde lang vorwärts und stoppt dann jegliche Bewegung.#
wenn gestartet
[Move forward for one second, then stop.]
bewege [vorwärts v]
warte (1) Sekunden
alle Bewegungen stoppen

Warten Sie, bis#

Der wait until-Stack-Block pausiert die Ausführung mehrerer Blöcke, bis eine bestimmte Bedingung erfüllt ist, bevor zum nächsten Block übergegangen wird.

Warte, bis der Block gestapelt ist#
warte bis <>

Parameter

Beschreibung

Zustand

Die Bedingung, die erfüllt sein muss, bevor zum nächsten Block übergegangen werden kann.

Beispiel

Nach dem Start bewegt es sich vorwärts, bis der Bildschirm berührt wird, dann stoppt es jegliche Bewegung.#
wenn gestartet
[Move forward until screen pressed, then stop.]
bewege [vorwärts v]
warte bis <Bildschirm gedrückt?>
alle Bewegungen stoppen

wiederholen#

Der repeat C-Block führt die darin enthaltenen Blöcke eine festgelegte Anzahl von Malen aus.

Wiederhole den C-Block#
wiederhole [10]
Ende

Parameter

Beschreibung

mal

Eine ganze Zahl, die festlegt, wie oft der repeat-Block ausgeführt wird.

Beispiel

wenn gestartet
[Move in a square path.]
wiederhole [4]
bewege [vorwärts v] für [50] [mm v] ▶
drehe [rechts v] für [90] Grad ▶
Ende

für immer#

Der endlose C-Block lässt die darin enthaltenen Blöcke immer und immer wieder von vorne beginnen.

Forever C-Block#
für immer
Ende

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Nach dem Start bewegt es sich kontinuierlich auf einer quadratischen Bahn, indem es sich 50 mm vorwärts bewegt und sich dann in einer Endlosschleife um 90 Grad nach rechts dreht.#
wenn gestartet
[Move in a square path forever.]
für immer
bewege [vorwärts v] für [50] [mm v] ▶
drehe [rechts v] für [90] Grad ▶
Ende

Wiederholen, bis#

Der repeat until C-Block führt die darin enthaltenen Blöcke so lange wiederholt aus, bis die angegebene Bedingung erfüllt ist.

Wiederholen Sie dies, bis der Block blockiert ist.#
wiederhole bis <>
Ende

Parameter

Beschreibung

Zustand

Ein Ausdruck oder eine Variable, die vor jedem Schleifendurchlauf geprüft wird. Ist sie falsch, werden die Blöcke wiederholt. Ist sie wahr, wird die Schleife beendet.

Beispiel

Beim Start bleiben alle LEDs rot, bis der Bildschirm berührt wird; dann werden sie ausgeschaltet.#
wenn gestartet
[Repeat until the screen is pressed before turning off the LEDs.]
wiederhole bis <Bildschirm gedrückt?>
setze [lightall v] LED-Farbe auf [rot v]
Ende
setze [lightall v] LED-Farbe auf [aus v]

während#

Der while C-Block führt die darin enthaltenen Blöcke so lange wiederholt aus, wie die angegebene Bedingung erfüllt ist.

während c Block#
solange <>
Ende

Parameter

Beschreibung

Zustand

Ein Ausdruck oder eine Variable, die vor jedem Schleifendurchlauf geprüft wird. Ist sie wahr, werden die Blöcke wiederholt. Ist sie falsch, wird die Schleife beendet.

Beispiel

Nach dem Start bewegt sich das Gerät 200 mm vorwärts, wobei alle LEDs grün leuchten. Die LEDs schalten sich aus, sobald die Bewegung stoppt.#
wenn gestartet
[Keep the LEDs green while the robot is moving.]
bewege [vorwärts v] für [200] [mm v] ◀ und nicht warten
solange <Bewegung aktiv?>
setze [lightall v] LED-Farbe auf [grün v]
Ende
setze [lightall v] LED-Farbe auf [aus v]

Wenn#

Der if C-Block führt die darin enthaltenen Blöcke aus, wenn die Bedingung True ist.

if block#
wenn <> dann
Ende

Parameter

Beschreibung

Zustand

Ein Ausdruck oder eine Variable, die bei der Ausführung der Anweisung geprüft wird. Ist sie wahr, werden die Blöcke innerhalb des if-Blocks ausgeführt. Ist sie falsch, werden die Blöcke übersprungen.

Beispiel

Nach dem Start prüft das System kontinuierlich, ob der Bildschirm berührt wird. Wird er berührt, tritt der Roboter mit mittlerer Kraft gegen ein Objekt.#
wenn gestartet
[Kick when the screen is pressed.]
für immer
wenn <Bildschirm gedrückt?> dann
Objekt [mittel v] treten
Ende
Ende

if / else#

Der if / else C-Block bestimmt, welche Blöcke ausgeführt werden, je nachdem, ob die Bedingung True oder False ist.

Wenn dann sonst Block#
wenn <> dann
sonst
Ende

Parameter

Beschreibung

Zustand

Ein Ausdruck oder eine Variable, die bei der Ausführung der Anweisung geprüft wird. Ist sie wahr, werden die Blöcke innerhalb des if-Blocks ausgeführt. Ist sie falsch, werden die Blöcke innerhalb des else-Blocks ausgeführt.

Beispiel

Nach dem Start wird ständig geprüft, ob der Bildschirm berührt wird. Wird er berührt, erscheint ein aufgeregtes Emoji, das nach vorne blickt; andernfalls ein gelangweiltes Emoji, das nach vorne blickt.#
wenn gestartet
[Show one emoji when the screen is touched and a different one when it's not.]
für immer
wenn <Bildschirm gedrückt?> dann
zeige [emoji_excited v] blickend [vorwärts v]
sonst
zeige [emoji_bored v] blickend [vorwärts v]
Ende
Ende

if / else if / else#

Der erweiterbare C-Block if / else if / else wählt anhand von Bedingungen aus, welche Blockgruppe ausgeführt wird:

  • Die if-Funktion führt ihren Codeblock aus, wenn die Bedingung als True ausgewertet wird.

  • Die else if-Anweisung prüft zusätzliche Bedingungen nur dann, wenn alle vorherigen Bedingungen als falsch ausgewertet wurden. Es können mehrere else if-Anweisungen verwendet werden.

  • else führt seinen Codeblock nur dann aus, wenn keine der vorherigen Bedingungen als True ausgewertet wurde.

if else if else block#
wenn <> dann
sonst wenn <> dann
sonst
Ende

Parameter

Beschreibung

Zustand

Ein Ausdruck oder eine Variable, die bei der Ausführung der Anweisung geprüft wird. Die erste Bedingung, die wahr ist, führt den entsprechenden Block aus. Sind alle Bedingungen falsch, werden die Blöcke innerhalb des else-Blocks ausgeführt.

Beispiel

Wenn sich die Position der Achse 1 des Reglers ändert, bewegt er sich vorwärts, wenn er nach vorne gedrückt wird, rückwärts, wenn er nach hinten gezogen wird, und stoppt in der Neutralstellung.#
wenn Controller-Achse [1 v] geändert wird
[Move the robot forward or reverse based on the position of the joystick.]
wenn <(Controller-Achse [1 v] Position) [math_greater_than v] [0]> dann
bewege [vorwärts v]
sonst wenn <(Controller-Achse [1 v] Position) [math_less_than v] [0]> dann
bewege [rückwärts v]
sonst
alle Bewegungen stoppen
Ende

brechen#

Der break-Block beendet eine Schleife sofort. Dieser Block kann innerhalb von repeat, repeat until, while und forever Blöcken verwendet werden. Break ist nützlich, wenn eine Schleife aufgrund eines Ereignisses im Projekt vorzeitig beendet werden muss, z. B. durch Drücken einer Taste oder durch die Erkennung eines Objekts durch einen Sensor.

Stapelblock zerbrechen#
Abbruch

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Beim Einschalten blinken die LEDs alle 0,5 Sekunden rot und grün, bis der Bildschirm berührt wird, dann hört es auf.#
wenn gestartet
[Flash LEDs until the screen is pressed.]
für immer
setze [lightall v] LED-Farbe auf [rot v]
warte [0.5] Sekunden
setze [lightall v] LED-Farbe auf [grün v]
warte [0.5] Sekunden
wenn <Bildschirm gedrückt?> dann
Abbruch
Ende
Ende

Projekt stoppen#

Der Stop-Projekt-Block beendet ein laufendes Projekt.

Projektblockierung stoppen#
Projekt stoppen

Parameter

Beschreibung

Dieser Block hat keine Parameter.

Beispiel

Beim Start blinken die LEDs alle 0,5 Sekunden rot und grün, bis der Bildschirm berührt wird; dann wird das Projekt gestoppt.#
wenn gestartet
[Stop the project once the screen is pressed.]
für immer
setze [lightall v] LED-Farbe auf [rot v]
warte [0.5] Sekunden
setze [lightall v] LED-Farbe auf [grün v]
warte [0.5] Sekunden
wenn <Bildschirm gedrückt?> dann
Projekt stoppen
Ende
Ende