http://www.YouTube.com/watch?v=E1wt5ywUo9M
Der Lego-Code (Bricx Command Center entworfen):
#define macht 75
#define Ausfallzeiten 200
#define UpTime 200
#define TimePerTarget 2000Task main()
{lange drehen; / * die Variable für die Aufnahme-Winkel * /
lange Nothit;
Int Welke;
Int m;
Int Ergebnis;
lange, time2;TextOut (0, LCD_LINE2, "Winkel auf PortA");
Ergebnis = 0;
TextOut(0,LCD_LINE7,"Score:");
NumOut(40,LCD_LINE7,score);während (true) {}
OnFwd(OUT_ABC,Power);
Wait(Downtime);
Off(OUT_ABC);Wait(2000);
Welke = Random(3);
NumOut(0,LCD_LINE4,welke);Wenn (Welke == 0) {m = OUT_A;}
Wenn (Welke == 1) {m = OUT_B;}
Wenn (Welke == 2) {m = OUT_C;}OnRev(m,Power);
Wait(Uptime);
Off(m);Wait(400);
Nothit = MotorRotationCount (m);
Drehen = Nothit;
NumOut(0,LCD_LINE6,nothit);Zeit = CurrentTick();
während (Nothit == drehen) {}
Drehen = MotorRotationCount (m); / * Lese Motor Winkel [deg] * /
TextOut (0, LCD_LINE5,"");
NumOut(0,LCD_LINE5,rotate);
TextOut(40,LCD_LINE5,"deg");Wenn ((time+TimePerTarget) < CurrentTick())
{drehen = drehen + 10;}}
OnFwd(m,Power);
Wait(Downtime);
Off(m);Punkte = Punkte + 1;
TextOut(0,LCD_LINE7,"Score:");
NumOut(40,LCD_LINE7,score);}
}