/* Go Forward while I can! */ /* But Turn after U-turn! */ /* enum Action { Step, TurnLeft, TurnRight, TurnBack, End }; */ /* int senseForward(); int senseLeft(); int senseRight(); void MousePuts(char *message); */ int Need2Turn; Action MousedoAction() { if (Need2Turn) { if (senseLeft() == 0) { Need2Turn = 0; return TurnLeft ; } if (senseRight() == 0) { Need2Turn = 0; return TurnRight; } } if (senseForward() == 0) { return Step; } if (senseLeft() == 0) { return TurnLeft; } if (senseRight() == 0) { return TurnRight; } Need2Turn = 1; return TurnBack ; } void MouseInit() { MousePuts("Gung Ho!.\n"); Need2Turn = 0; } void MouseBring2Start() { Need2Turn = 0; } void MouseUserCmd(int cmd) { char msg[30]; sprintf(msg,"UsrBtn %d pressed.\n",cmd); MousePuts(msg); }