[[2006a/A1]] #contents *プログラム1(光センサ無し) [#q3184f68] **プログラム(1) [#qfb22c0a] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off(OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); task main() { ClearMessage(); until (Message() != 0); back(500);tomaru(500); SendMessage(1);Wait(300); if ( Message() == 2 ) { front(450);tomaru(200); front(200);tomaru(200); left(85);tomaru(200); front(250);left(85);tomaru(200); front(300);back(200); } } **プログラム(2)[#v15dec86] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off(OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); task main() { front(500);tomaru(200); front(200);tomaru(200); left(90);tomaru(200); front(250);left(90);tomaru(200); front(300);back(200);tomaru(200); left(90);tomaru(50);front(250);right(90);tomaru(50); front(700);tomaru(200);back(760);tomaru(200); right(90);tomaru(200);front(250);left(90);tomaru(200); front(300);back(200);tomaru(200); left(90);tomaru(50);front(250);right(90);tomaru(50); front(700);tomaru(200); } **プログラム(3) [#ecf68cbe] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+ OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off(OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); task main() { front(300);tomaru(150);right(80);tomaru(150); front(270);tomaru(150);right(80);tomaru(150); front(200);tomaru(100);back(200);tomaru(150); right(80);tomaru(150);front(270);tomaru(150); left(80);tomaru(150);front(450);tomaru(150); left(80);tomaru(150); front(300);tomaru(150);left(80);tomaru(150); front(300);tomaru(50);back(200);tomaru(150); left(80);tomaru(50);front(300);right(80);tomaru(50); front(400);tomaru(150);back(400);tomaru(150); right(80);tomaru(150);front(300);tomaru(150);left(80);tomaru(150); front(300);tomaru(50);back(200);tomaru(150); left(80);tomaru(50);front(300);tomaru(150);right(80);tomaru(50); front(400);tomaru(200); } **プログラム(4) [#b4aa91cd] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off(OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); task main() { while(true) { front(230);tomaru(150);back(500);tomaru(150); right(90);tomaru(150); front(330);tomaru(150);left(90);tomaru(150);front(300);tomaru(150); back(210);tomaru(150);left(76);tomaru(150);front (310);tomaru(150); right(76);tomaru(150);front(250);tomaru(150); } } **プログラム(5) [#ee0f1650] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off(OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); task main() { while(true) { front(230);tomaru(150);back(520);tomaru(150);front(50);tomaru(150); right(92);tomaru(150); front(300);tomaru(150);left(93);tomaru(150);front(340);tomaru(150); back(190);tomaru(150);left(81);tomaru(150);front(290);tomaru(150); right(81);tomaru(150);front(150);tomaru(100); front(250);tomaru(150); } } **プログラム(6) [#v791ee78] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off(OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); task main() { SetPower(OUT_A,4);SetPower(OUT_C,6); while(true) { front(230);tomaru(150);back(520);tomaru(150);front(50);tomaru(150); right(92);tomaru(150); ront(300);tomaru(150);left(93);tomaru(150);front(340);tomaru(150); back(190);tomaru(150);left(80);tomaru(150);front(290);tomaru(150); right(80);tomaru(150);front(150);tomaru(100); front(250);tomaru(150); } } *プログラム2(光センサ有り) [#r1120e17] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off(OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); #define THRESHOLD 43 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_2, SENSOR_LIGHT); while(true) { front(230);tomaru(150);back(530);tomaru(150); front(50);tomaru(50);right(88);tomaru(150); front(300);tomaru(150);left(88);tomaru(150);front(300);tomaru(150); back(190);tomaru(150);left(80);tomaru(150);front(310);tomaru(150); right(80);tomaru(150); if(SENSOR_1 <= THRESHOLD){tomaru(300);OnRev(OUT_C);OnFwd(OUT_A);} else{OnFwd(OUT_A+OUT_C);} if(SENSOR_2 <= THRESHOLD){tomaru(300);} front(250);tomaru(150); } } **プログラム(1) [#l56527f3] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off (OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); #define THRESHOLD 43 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_2, SENSOR_LIGHT); while(true) {if(SENSOR_1 <= THRESHOLD){tomaru(300);OnRev(OUT_C);OnFwd (OUT_A);} else{OnFwd(OUT_A+OUT_C);} if(SENSOR_2 <= THRESHOLD){tomaru(300);} front(250);tomaru(150); } } **プログラム(2) [#m8f02d09] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off(OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); #define THRESHOLD 40 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_2, SENSOR_LIGHT); while(true) { front(230);tomaru(150);back(520);tomaru(150);front(50);tomaru(50); right(100);tomaru(150); front(300);tomaru(150);left(93);tomaru(150);front(300);tomaru(150); back(190);tomaru(150);left(80);tomaru(150);front(310);tomaru(150); right(80);tomaru(150); while(true) { if((SENSOR_1 > THRESHOLD) && (SENSOR_2 > THRESHOLD)){OnFwd(OUT_A+OUT_C);} if(SENSOR_2 < THRESHOLD){OnRev(OUT_C);OnFwd(OUT_A);} if(SENSOR_1 < THRESHOLD){OnRev(OUT_A);OnFwd(OUT_C);} if((SENSOR_1 <= THRESHOLD) && (SENSOR_2 <= THRESHOLD)) {tomaru(200);front(50);} } front(250);tomaru(150); } } **プログラム(3) [#i88fa827] #define front(j) OnFwd(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define back(j) OnRev(OUT_A+OUT_C);Wait(j);Off(OUT_A+OUT_C); #define right(j) OnRev(OUT_C);OnFwd(OUT_A);Wait(j);Off(OUT_A+OUT_C); #define left(j) OnRev(OUT_A);OnFwd(OUT_C);Wait(j);Off(OUT_A+OUT_C); #define tomaru(j) Off(OUT_A+OUT_C);Wait(j); #define THRESHOLD 40 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_2, SENSOR_LIGHT); while(true) { front(230);tomaru(150);back(520);tomaru(150);front(50);tomaru(150); right(94);tomaru(150); front(300);tomaru(150);left(93);tomaru(150);front(340);tomaru(150); back(190);tomaru(150);left(80);tomaru(150);front(310);tomaru(150); right(80);tomaru(150);front(50);tomaru(100); while(true) { if((SENSOR_1 < THRESHOLD) && (SENSOR_2 < THRESHOLD)){OnFwd(OUT_A+OUT_C);} if(SENSOR_2 > THRESHOLD){OnRev(OUT_A);OnFwd(OUT_C);} if(SENSOR_1 > THRESHOLD){OnRev(OUT_C);OnFwd(OUT_A);} } if((SENSOR_1 >= THRESHOLD) && (SENSOR_2 >= THRESHOLD)){tomaru(200);front(50);} front(250);tomaru(150); } }