Editor
Der Editor ist der Bereich, in dem du mit Blöcken oder Skriptcode den Code zur Steuerung eines Roboters schreibst.
Im Folgenden wird vorgestellt, wie man in der Umgebung für Blockprogrammierung bzw. Skript-(Python-)Programmierung jeweils programmiert und worauf zu achten ist.
Block-Editor
Blockkategorien

Der Bereich, in dem die von RobomationLAB bereitgestellten Blöcke nach Kategorien geordnet sind.
Klickst du eine Kategorie an, siehst du die Blockpalette dieser Kategorie.
Die standardmäßig vorhandenen Blockkategorien sind:
- Logik
- Schleifen
- Mathematik
- Text
- Liste
- Farbe
- Audio
- Steuerung
- Variablen
- Funktionen
- Sonstiges
Fügst du darüber hinaus einen Roboter oder eine Erweiterung zum Programm hinzu, steht im Programm auch dessen eigene Blockpalette zur Verfügung.
⚙️ Hinweis

Kategorien hinzugefügter Blöcke, die du nicht mehr brauchst, kannst du über Rechtsklick → Entfernen aus den Blockkategorien entfernen.
Blockpalette

Der Bereich, in dem alle Blöcke einer Kategorie versammelt sind.
Die Blöcke der Blockpalette lassen sich per Drag & Drop in den Programmierbereich ziehen.

⚙️ Hinweis
Willst du die Verwendung eines Blocks nachlesen, findest du über Rechtsklick → Hilfe zu jedem Block eine Hilfe, die seine Verwendung erklärt.
Programmierbereich

Der Bereich, in dem du die aus der Blockpalette geholten Blöcke zusammensetzt.
Die zusammengesetzten Blöcke werden in Echtzeit in Python-Code umgewandelt;
führst du den Code aus, wird er ausgewertet und du kannst damit den Roboter bewegen und steuern.
Grundstruktur der Blöcke
Beim Programmieren im Block-Editor ist die folgende Grundstruktur einzuhalten.

Der Block-Editor wertet den Code innerhalb der Funktionsblöcke Funktion Setup und Funktion Schleife aus und führt ihn aus.
Du musst deinen Code also schreiben, indem du Blöcke in die Funktionsblöcke Funktion Setup und Funktion Schleife einsetzt.
Funktion Setup
Im Funktionsblock Funktion Setup definierst du die Aktionen, die beim Ausführen des Codes zu Beginn ausgeführt werden.
Mit dem Block warten kannst du dafür sorgen, dass die Aktionen zeitlich hintereinander ablaufen.
Funktion Schleife
Im Funktionsblock Funktion Schleife definierst du die Aktionen, die während der Ausführung des Codes wiederholt ausgeführt werden.
Die definierten Aktionen werden etwa alle 10 ms wiederholt ausgeführt.
⚙️ Hinweis
(Abgesehen von eigenen Funktionen, die du über die Kategorie Funktionen erstellt hast)
Blöcke, die außerhalb der Funktionsblöcke Funktion Setup oder Funktion Schleife liegen, haben beim Ausführen des Codes keine Wirkung.
Blöcke verwenden
Einen Block hinzufügen



Den Block, den du hinzufügen willst, ziehst du aus der Blockpalette und lässt ihn im Editor fallen — so wird er hinzugefügt.
Blöcke kopieren / einfügen
Es gibt zwei Wege, im Editor Blöcke zu kopieren und einzufügen.
Wähle einen Block aus und drücke Ctrl+C — der ausgewählte Block wird kopiert.
Drückst du Ctrl+V, wird der zuletzt kopierte Block in den Editor eingefügt.Wähle einen Block aus und drücke im Menü Bearbeiten auf „Kopieren Ctrl+C" — der ausgewählte Block wird kopiert.
Drückst du im Menü Bearbeiten auf „Einfügen Ctrl+V", wird der zuletzt kopierte Block in den Editor eingefügt.
Blöcke löschen
Es gibt drei Wege, im Editor Blöcke zu löschen.
Wähle einen Block aus und drücke Backspace — der ausgewählte Block wird gelöscht.
Den Block, den du löschen willst, ziehst du im Editor und lässt ihn auf den Blockkategorien fallen — so wird er gelöscht.



- Den Block, den du löschen willst, ziehst du im Editor und lässt ihn auf dem Papierkorb fallen — so wird er gelöscht.
Gelöschte Blöcke kannst du im Papierkorb wieder ansehen.

Mehrere Blöcke gleichzeitig auswählen
Es gibt zwei Wege, im Editor mehrere Blöcke gleichzeitig auszuwählen.
Hältst du die Shift-Taste gedrückt und ziehst über den Arbeitsbereich oder klickst die Blöcke einzeln an,
kannst du mehrere Blöcke gleichzeitig auswählen.Über die Häkchen-Schaltfläche unten rechts im Arbeitsbereich schaltest du den Modus „mehrere Blöcke auswählen" ein oder aus.
Ist die Schaltfläche farbig gefüllt, ist der Modus eingeschaltet.
Ist die Schaltfläche nicht farbig gefüllt, ist der Modus ausgeschaltet.


Solange der Modus „mehrere Blöcke auswählen" eingeschaltet ist, kannst du nur Blöcke auswählen.
Willst du die ausgewählten Blöcke gemeinsam verschieben oder bearbeiten, musst du die Auswahl abschließen und den Modus ausschalten.
Weitere Optionen
Klickst du einen Block außerdem mit der rechten Maustaste an,
findest du verschiedene weitere Optionen wie Block einklappen/ausklappen, aktivieren/deaktivieren und Hilfe.
Python-Editor
Code-Palette

Der Bereich, in dem die für die Roboterprogrammierung nötigen Grundfunktionen sowie die Python-Codes der Roboter und Erweiterungen nach Kategorien geordnet sind.
Die Codekategorien der Grundfunktionen (Code) sind:
- Logik (logic)
- Schleifen (loops)
- Mathematik (math)
- Text (text)
- Liste (lists)
- Farbe (color)
- Audio (audio)
- Steuerung (control)
Die Codes der Grundfunktionen erfüllen dieselben Aufgaben wie die Grundblöcke im Block-Editor.
⚙️ Hinweis
Wie man mit der Code-Palette im Python-Editor programmiert, steht unter Die Code-Palette verwenden.
Code-Editor

Der Bereich, in dem du den Code zur Steuerung eines Roboters schreibst.
Wählst du unter Editor-Einstellung den Editor Python, kannst du Python-Code schreiben.
Grundstruktur des Codes
Beim Programmieren im Code-Editor ist die folgende Grundstruktur einzuhalten.
from robomation import *
# (falls ein Roboter verwendet wird, als Instanz deklarieren, Beispiel)
hamster_s = HamsterS(0)
# Setup-Code hier einfügen, der einmal ausgeführt wird:
def setup():
pass
# Steuerungscode hier einfügen, der wiederholt ausgeführt wird:
def loop():
passDer Code-Editor wertet den Code innerhalb der Funktionen setup und loop aus und führt ihn aus.
Du musst deinen Code also innerhalb der Funktionen setup und loop schreiben.
Außerdem gehört zur Steuerung eines Roboters from robomation import * an den Anfang des Codes, und der zu verwendende Roboter muss als Instanz deklariert werden.
setup
In der Funktion setup definierst du die Aktionen, die beim Ausführen des Codes zu Beginn ausgeführt werden.
Mit der Funktion Utils.wait kannst du dafür sorgen, dass die Aktionen zeitlich hintereinander ablaufen.
loop
In der Funktion loop definierst du die Aktionen, die während der Ausführung des Codes wiederholt ausgeführt werden.
Die definierten Aktionen werden etwa alle 10 ms wiederholt ausgeführt.
Die Code-Palette verwenden
Im Folgenden wird anhand einfacher Beispiele beschrieben, wie man die Code-Palette beim Programmieren verwendet.
Den gewünschten Code finden
Die Code-Palette bietet viele Funktionen und Codes, die man für die Roboterprogrammierung braucht.

Sieh dir die Einträge in der Kategorie Code an — bei manchen findest du das Symbol .
Klickst du den Eintrag Logik einmal an, wird das Symbol zu und die darin liegenden Untereinträge klappen auf.
Einen Eintrag mit Untereinträgen nennt man „Kategorie".
Fehlt bei einem Eintrag das Symbol — wie bei ternär in der Kategorie Logik —, bedeutet das, dass es darin keine weiteren Untereinträge gibt.
Einen Eintrag ohne Untereinträge nennt man „Code".

Klickst du eine aufgeklappte Kategorie erneut an, wird das Symbol wieder zu und die Untereinträge werden ausgeblendet.
So kannst du den Kategorien folgen und in der Code-Palette den gewünschten Code finden.
Code in den Editor einfügen
So fügst du Code in den Editor ein.

Steht links vom Namen eines Eintrags das Symbol , bedeutet das, dass es für diesen Eintrag keine wählbaren Codeoptionen gibt.
Das trifft meist auf die Kategorie-Einträge mit Untereinträgen zu.
Steht links vom Namen eines Eintrags das Symbol , bedeutet das, dass für diesen Eintrag Codeoptionen wählbar sind.
Das trifft meist auf die Code-Einträge ohne Untereinträge zu.
Klickst du den Code, den du in den Editor einfügen willst, mit der rechten Maustaste an, siehst du die wählbaren Optionen.

Klickst du einen Code-Eintrag mit der rechten Maustaste an, findest du — ohne Unterschied zwischen Grundfunktionen und den Codes der Roboter und Erweiterungen — dieselben Optionen:
- Code einfügen: fügt den ausgewählten Code an der Cursorposition im Editor ein.
- Hilfe: zeigt die Hilfe, die die Verwendung dieses Codes erklärt.
- Abbrechen: schließt das Optionsmenü.
Bei den Codes der Roboter und Erweiterungen wird mit Code einfügen ein Methodenaufruf der jeweiligen Roboterinstanz eingefügt.
( z. B. set_wheel_speed von HamsterS → hamster_s.set_wheel_speed('both', 50) )
⚙️ Hinweis

Codekategorien der hinzugefügten Roboter bzw. Erweiterungen, die du nicht mehr brauchst,
kannst du über Rechtsklick → Entfernen aus der Code-Palette entfernen.
