#define TH_SOUND 40 #define MOVE_TIME 1000 #define CHECK_TIME 1000 #define POW 75 int nxt_array[100]; // 配列の大きさを100にする void forward(int time){ // 前進 OnFwd(OUT_AC, POW); Wait(time); } void turn_right(int time){ // 右回転 Off(OUT_A); OnFwd(OUT_C, POW); Wait(time); } void turn_left(int time){ // 左回転 OnFwd(OUT_A, POW); Off(OUT_C); Wait(time); } int nxt_rec(){ // 動作の記録 int i=0; while(Sensor(IN_3) < TH_SOUND){ // サウンドセンサが反応するまで記録 if(Sensor(IN_1) == 1 ){ if(Sensor(IN_2) == 1 ){ nxt_array[i] = 1; // 両方押されているとき前進 i=i++; PlayFile("Woops.rso"); // 記録チェック Wait(CHECK_TIME); }else{ nxt_array[i] = 2; // ポート1のみ押されているとき右回転 i=i++; PlayFile("Woops.rso"); // 記録チェック Wait(CHECK_TIME); } }else{ if(Sensor(IN_2) == 1 ){ nxt_array[i] = 3; // ポート2のみ押されているとき左回転 i=i++; PlayFile("Woops.rso"); // 記録チェック Wait(CHECK_TIME); } } } PlayFile("! Startup.rso"); // 記録終了のチェック Wait(CHECK_TIME); return i; } void nxt_play(int count){ //動作の再生 int i=1; until(Sensor(IN_3) > TH_SOUND); // 音のレベルが40以上になるまで待つ for(i=1; i