[[2004/C7/その他(自由)]] 担当:のぐち //*ぐるぐる回るプログラム*// #define TURN_TIME 110 int MOVE_TIME; task main() { OnFwd(OUT_A+OUT_C); MOVE_TIME=200; Wait(MOVE_TIME); OnFwd(OUT_A); OnRev(OUT_C); Wait(TURN_TIME); repeat(6){ OnFwd(OUT_A+OUT_C); Wait(MOVE_TIME); OnFwd(OUT_A); OnRev(OUT_C); Wait(TURN_TIME); MOVE_TIME-=25; } Off(OUT_A+OUT_C); } 関数は嫌いだぁ〜 担当 フジタ /* 送られたメッセージに従って左右に回転するロボットのプログラム*/ /* 送られたメッセージに従って左右に回転するロボットのプログラム*/ #define turn_left OnRev(OUT_A); #define go_straight OnFwd(OUT_A); task main() { Wait(500); ClearTimer(0);while ( Timer(0) <= 10 ) { SendMessage(1); } // 最初の 5秒間 1 を送信する while (true) { ClearMessage(); // Message() を 0 に設定 until (Message() != 0); // Message() に 0 以外の値が入るまで待つ if ( Message() == 1 ) {turn_left; Wait(500); // 1 を受信したときには左回転 Off(OUT_A);SendMessage(1);} if ( Message() == 2) {go_straight; Wait(1500);Off(OUT_A);//2を受信したときには前進 SendMessage(2);} } } #define turn_left OnRev(OUT_A); #define go_straight OnFwd(OUT_A); task main() { Wait(500); ClearTimer(0);while ( Timer(0) <= 10 ) { SendMessage(1); } // 最初の 5秒間 1 を送信する while (true) { ClearMessage(); // Message() を 0 に設定 until (Message() != 0); // Message() に 0 以外の値が入るまで待つ if ( Message() == 1 ) {turn_left; Wait(500); // 1 を受信したときには左回転 Off(OUT_A);SendMessage(1);} if ( Message() == 2) {go_straight; Wait(1500);Off(OUT_A);//2を受信したときには前進 SendMessage(2);} } }