Um das "Durchlaufen" der Farben zu verhindern, benötigen wir eine neue Programmstruktur:
Die while-Schleife.
while (Bedingung) { // Anweisungsblock }
Die while-Schleife hat nur einen Parameter: die Bedingungsprüfung.
Der nachfolgende Anweisungsblock in den geschweiften Klammern wird so lange ausgeführt, wie die Bedingung wahr ist.
Jetzt werden wir das Programm so umbauen, dass mit einer Berührung nur eine Farbe weitergeschaltet wird.
Damit nur eine Farbe weitergeschaltet wird, müssen wir den Programmcode erweitern:
Immer wenn der Arm berührt wurde, warten wir direkt danach so lange ab, bis der Arm wieder losgelassen wird. Dazu verwenden wir die while
-Schleife:
if (arm1 > 0) { while (bob3.getArm(1)>0) { delay(1); // abwarten... } }
Was hat sich geändert?
Berühre den Arm länger: Die Farbe sollte sich jetzt erst ändern, wenn du den Arm wieder losgelassen hast!