#define offset 1 task main() { int msg; SetPower(OUT_A+OUT_B+OUT_C, OUT_FULL); while(1) { ClearMessage(); while(Message() == 0); msg = Message(); if(msg == offset) { OnFwd(OUT_A); } else if(msg == 1+offset) { OnRev(OUT_A); } else if(msg == 2+offset) { OnFwd(OUT_B); } else if(msg == 3+offset) { OnRev(OUT_B); } else if(msg == 4+offset) { OnFwd(OUT_C); } else if(msg == 5+offset) { OnRev(OUT_C); } else if(msg == 6+offset) { Off(OUT_A); } else if(msg == 7+offset) { Off(OUT_B); } else if(msg == 8+offset) { Off(OUT_C); } else if(msg == 9+offset) { Off(OUT_A+OUT_B+OUT_C); } else if(msg == 10+offset) { OnFwd(OUT_A+OUT_C); } else if(msg == 11+offset) { OnRev(OUT_A+OUT_C); } else if(msg == 12+offset) { OnFwd(OUT_A); OnRev(OUT_C); } else if(msg == 13+offset) { OnFwd(OUT_C); OnRev(OUT_A); } else if(msg == 14+offset) { Off(OUT_A+OUT_C); } else if(msg == 15+offset) { } } }