#define LMOT OUT_A #define RMOT OUT_C task main () { start change; } task left () {while (1) { switch (Random(4)) { case 1: OnFwd(LMOT); break; case 2: OnRev(LMOT); break; case 3: Off(LMOT); break; case 4: Float(LMOT); break; } Wait(Random(300)); PlayTone(200, 10); }} task right () {while (1) { switch (Random(4)) { case 1: OnFwd(RMOT); break; case 2: OnRev(RMOT); break; case 3: Off(RMOT); break; case 4: Float(RMOT); break; } Wait(Random(300)); PlayTone(300, 10); }} task run () { Fwd(LMOT|RMOT); while (1) { On(LMOT|RMOT); Wait(8); Off(LMOT|RMOT); Wait(30); } } task wiggle () { Rev(LMOT|RMOT); while (1) { On(LMOT); Wait(30); Off(LMOT); Wait(50); On(RMOT); Wait(30); Off(RMOT); Wait(50); } } task scramble () {while (1) { switch (Random(4)) { case 1: OnFwd(LMOT); break; case 2: OnRev(LMOT); break; case 3: Off(LMOT); break; case 4: Float(LMOT); break; } switch (Random(4)) { case 1: OnFwd(RMOT); break; case 2: OnRev(RMOT); break; case 3: Off(RMOT); break; case 4: Float(RMOT); break; } Wait(5); }} task change () {while (1) { stop left; stop right; stop run; stop wiggle; stop scramble; Off(LMOT|RMOT); PlaySound(SOUND_CLICK); int choice = Random(3) + 1; repeat (choice) {PlayTone(450, 10); Wait(20);} switch (choice) { case 1: start left; start right; break; case 2: start run; break; case 3: start wiggle; break; case 4: start scramble; break; } Wait(800 + Random(800)); }}