die Syntax von switch ist:
Code:
switch (GANZZAHL)
{
case WERT1:
...
case WERT2:
...
case WERT3:
...
default:
...
}
Die ... sind der Code, der jeweils ausgeführt werden soll.
Mit 'break' wird der switch verlassen.
Fehl das 'break', wird im nächsten case (oder default) weitergemach.
Ansonsten ist die Reihenfolge der cases, default egal.
Also:
Code:
unsigned char taste;
// fahren bis kollision
while (0 == (taster = PollSwitch()))
;
//bei kollision, motoren abstellen
MotorSpeed(0,0);
//nachdenken was passiert ist:
StatusLED(YELLOW);
switch (taste)
{
//links kollidiert
case 32:
case 48:
MotorDir(BREAK,RWD);
MotorSpeed(0,120);
//sollte ca 0.5sec "Pause" sein
Sleep(36);
break;
//einige Frontalkollisionen
case 2:
case 4:
case 8:
case 16:
case 18:
MotorDir(RWD,RWD);
MotorSpeed(120,120);
Sleep(36);
MotorDir(RWD,FWD);
Sleep(18);
break;
//rechts kollidiert
case 1:
case 3:
MotorDir(RWD,BREAK);
MotorSpeed(120,0);
Sleep(36);
break;
//unbekanntes kollisionsmuster
default:
while(1)
{
StatusLED(RED);
BackLED(ON,OFF);
Sleep(100);
BackLED(OFF,ON);
Sleep(100);
}
} // switch (taste)
Lesezeichen