Hi Roboter Fans,
ich muss bei einem Programm aus einer Schleife raus wenn eine Veriable einen bestimmten wert hat.Ich könnte es natürlich mit einem Sprung machen, da das aber keine schöne Art ist hoffe ich dass es auch anderst geht.
hier ist mal das was ich schon geschriben habe:
#include <NIBObee.h>
int start; //das sind alle Variablen
int win;
int win2;
void setup() {
NIBObee.begin();
NIBObee.checkVoltage();
}
unsigned int Led1(int ledNr, int anaus){ //meine Ganzen Unterprogramme
NIBObee.setLed(ledNr, anaus);
}
unsigned int Ledan(){
NIBObee.setLed(1, 1);
NIBObee.setLed(2, 1);
NIBObee.setLed(3, 1);
NIBObee.setLed(0, 1);
}
unsigned int Ledaus(){
NIBObee.setLed(1, 0);
NIBObee.setLed(2, 0);
NIBObee.setLed(3, 0);
NIBObee.setLed(0, 0);
}
unsigned int Led(int l1, int l2, int l3, int l4){
NIBObee.setLed(0, l1);
NIBObee.setLed(1, l2);
NIBObee.setLed(2, l3);
NIBObee.setLed(3, l4);
}
unsigned int Ledlauf(int ledlauf){
if(ledlauf==1){
Ledaus();
Led1(1, 1);
delay(50);
Ledaus();
Led1(2, 1);
delay(50);
Ledaus();
Led1(3, 1);
}else if(ledlauf==2){
Ledaus();
Led1(2, 1);
delay(50);
Ledaus();
Led1(1, 1);
delay(50);
Ledaus();
Led1(0, 1);
}
}
void loop() { //haubtschleife
if(FeelerL.get() != 0){ //if-anweisung zum starten des spiels
start=1;
Ledan();
delay(50);
Ledaus();
}
if(start==1){ //hier Startet das spiel
Led1(0, 1);
while(FeelerR.get()==0){}//warten auf betätigung des fühlers
start=0;
Ledlauf(1); //Ledlicht läuft von Led0 nach Led3
if(FeelerL.get()!=0){ //nur wenn der Fühlernach links gedrückt wird soll es weitergehen
win=1;
}else {
win=-1;
}
if(win==1){
Ledlauf(2);
win=0;
if(FeelerR.get()!=0){
win2=1;
}else{
win2=-1;
}
}
if(win==-1)break; //Hier brauch ich hilfe, weil ich jetzt aus allen schleifen(auser der Haubtschleife)raus will,wenn eine
if(win2==-1)break; //der Veriablen den Wert -1 hat.
}
}