ユースケ&コタジマ task main() { OnFwd(OUT_A); Wait(360); OnFwd(OUT_C); Wait(120); OnFwd(OUT_A); OnRev(OUT_C); Wait(80); OnFwd(OUT_C); Wait(120); Off(OUT_C); Wait(360); Off(OUT_A+OUT_C); }
作成中
できるだけ速いロボットを作成すること
高橋 さとし様 #define THRESHOLD 40 // 閾値 #define RUN_TIME 150 // トレースする時間(単位 1/10 秒) task main () { SetSensor(SENSOR_1, SENSOR_LIGHT); ClearTimer(0); // Timer(0) をリセット while ( Timer(0) <= RUN_TIME ) { // タイマー0がRUN_TIME以下の時に繰り返す if (SENSOR_1 < THRESHOLD) { // 黒線上にいるとき OnFwd(OUT_A); Off(OUT_C); } else { // 黒線から外れたとき Off(OUT_A); OnFwd(OUT_C); } } }
しゅうへい作 未完成 task main(){ int flag; SetSensor(SENSOR_2, SENSOR_LIGHT); while(1){ //黒い線の上にいるあいだは前進する。 OnFwd(OUT_A+OUT_C); until(SENSOR_2 > 52); Off(OUT_A+OUT_C); } ClearTimer(0); flag = 0; while((200 - Timer(0)) > 0){ //右に旋回しながら黒い線を探す OnFwd(OUT_A); until(SENSOR_2 < 40); } Off(OUT_A+OUT_C); if(Timer(0) < 200){ //黒い線の上に居るときはflag=1にする flag = 1; } while((600 - Timer(0)) > 0){ //左に旋回しながら黒い線を探す if(flag == 1){ //既に黒い線の上にいる場合(flag==1),ループを抜ける break; } OnFwd(OUT_C); until(SENSOR_2 < 40); } }
まず最初に一回転してもっとも明るい方向(懐中電灯の方向)を探し、次に懐中電灯の光を追いかけて進むようなロボットを作成しなさい。
アグン 未完成 #define LIGHT 0 #define POINT 0 sub turn_left () { OnFwd (OUT_A); } sub move_foward () { OnRev (OUT_A); } task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); while (true) { move_foward (); Wait (200); ClearTimer(0); turn_left (); Wait (1200); if (SENSOR_1 > LIGHT) { LIGHT == SENSOR_1; POINT == Timer (0); } turn_left (); Wait (POINT); } }
インストラクション(説明書)の最後にある「Top Secret」を参考に、音楽を演奏しながら前進し障害物にぶつかったら(あるいは明るい光にあたったら)後退しながら方向を変えるロボットを作成しなさい。ただし移動のためのモータはひとつだけ使うものとし、また前進しているときと後進している時で違う音楽を演奏すること。
高橋サトシ様様 #define Do 523 #define Re 587 #define Mi 659 #define Fa 698 #define Sol 784 task play_music() // 音楽を演奏するタスク { while (true) { PlayTone(Do,50); Wait(55); // Wait の時間の方を少し長くして PlayTone(Mi, 50); Wait(55); // 同じ音を続けて鳴らす場合にも PlayTone(Fa,50); Wait(55); // 一つの音にならないようにしている PlayTone(Sol,50); Wait(55); PlayTone(Do,50); Wait(55); // Wait の時間の方を少し長くして PlayTone(Mi, 50); Wait(55); // 同じ音を続けて鳴らす場合にも PlayTone(Fa,50); Wait(55); // 一つの音にならないようにしている PlayTone(Sol,50); Wait(55); PlayTone(Do,50); Wait(55); // Wait の時間の方を少し長くして PlayTone(Mi, 50); Wait(55); // 同じ音を続けて鳴らす場合にも PlayTone(Fa,50); Wait(55); // 一つの音にならないようにしている PlayTone(Sol,50); Wait(55); PlayTone(Mi,50); Wait(55); PlayTone(Do,50);Wait(55); PlayTone(Mi,50); Wait(55); PlayTone(Re,50); Wait(55); PlayTone(Mi,30); Wait(35); PlayTone(Mi,30); Wait(35); PlayTone(Re,50); Wait(55); PlayTone(Do,70); Wait(80); PlayTone(Do,30); Wait(35); PlayTone(Mi,30); Wait(35); PlayTone(Sol,50); Wait(55); PlayTone(Sol,50); Wait(55); PlayTone(Fa,70); Wait(80); PlayTone(Mi,50); Wait(55); PlayTone(Fa,50); Wait(55); PlayTone(Sol,50); Wait(55); PlayTone(Mi,50); Wait(55); PlayTone(Do,50); Wait(55); PlayTone(Re,50); Wait(55); PlayTone(Do, 50); Wait(55); } } task main() { SetSensor(SENSOR_1, SENSOR_TOUCH); start play_music ; // 演奏を開始 OnFwd(OUT_A+OUT_B); // 前進 until (SENSOR_1 == 1); stop play_music ; // 演奏を停止 Off(OUT_A+OUT_B); // 動きも停止 }
作成中
作成中