__info__

Jetzt soll 'der Bob' die gesendeten ID-Codes von 'den Anderen' empfangen und auswerten!

Wenn er einen Freund erkennt, der ID-Code also von einem Freund stammt, sollen seine Augen grün leuchten, falls nicht sollen sie rot leuchten!

__info__

In der Funktion loop_bob() deklarieren wir die Variable message.

Anschließend rufen wir die Methode bob3.receiveMessage(1000); auf und warten bis zu einer Sekunde auf eine übertragene IR-Message.

Die Variable message hat jetzt entweder den Wert -1 falls nichts empfangen wurde oder einen Wert zwischen 0 und 255 falls eine IR-Message übertragen wurde.

__info__

Jetzt kommt ein switch/case Block zur Fallunterscheidung:

Zuerst wird der Fall 'nichts empfangen' abgehandelt:
 case -1:
   // nix empfangen...
   break;
Hier ist nichts zu tun, also benötigen wir nur die break-Anweisung!

__info__

Danach kommen die Freunde an die Reihe:
 case ID_FRIEND_A:
 case ID_FRIEND_B:
 case ID_FRIEND_C:
   // ein Freund :-)
   bob3.setEyes(GREEN, GREEN);
   delay(800);
   break;
Alle drei case Fälle stehen ohne break-Anweisung direkt übereinander. Dadurch wird in allen drei Fällen das gleiche ausgeführt: Die Augen werden für 800 ms grün eingeschaltet!
Abschließend kommt das gemeinsame break.

__info__

Zum Schluss kommt noch der Fall für alle übrigen Werte:
 default:
   // kein Freund :-(
   bob3.setEyes(RED, RED);
   delay(800);
   break;
Hier werden die Augen werden für 800 ms rot eingeschaltet!

__quiz__

1: Kann man bei einem switch-Block mehrere Fälle gemeinsam behandeln? 
2: Benötigt jeder case sein eigenes break? 
3: Womit definiert man beim switch-Block den Standardfall? 
 Du hast nichts ausgefüllt!
 Prima, soweit richtig…
 Prima, alles richtig!
 Leider falsch…
 Eine Antwort ist richtig
 Schon ein paar richtig…