- 追加された行はこの色です。
- 削除された行はこの色です。
俺に名前は必要ない。なぜなら羽田空港のビルだからだ。
しかも二番目の存在。だが、俺はそれでもいいと思っている。
自分の地位も名誉も、名前同様俺には必要ない。
俺に必要なのはエビフライだ。
#define blackline 40
#define TURN_TIME 200
sub go(){
OnFwd (OUT_A+OUT_C);
#define blackline 30
#define Go_time 200
int frag;
sub linetrace (){
if ((SENSOR_1 <= blackline) && (SENSOR_3 <= blackline)){
OnFwd(OUT_A + OUT_C);
Wait(030);
frag++;
}
sub back(){
OnRev (OUT_A+OUT_C);
else{
if ((SENSOR_1 <= blackline) && (SENSOR_3 >= blackline)){
OnRev(OUT_A);OnFwd(OUT_C);
}
if ((SENSOR_1 >= blackline) && (SENSOR_3 <= blackline)){
OnFwd(OUT_C);OnRev(OUT_A);
}
if ((SENSOR_1 >= blackline) && (SENSOR_3 >= blackline)){
OnFwd(OUT_A + OUT_C);
}
}
}
sub turn_R(){
OnFwd (OUT_A+OUT_C);Wait(050);
OnRev (OUT_C);Wait(200);Off(OUT_A+OUT_C);
}
sub turn_L(){
OnFwd (OUT_C+OUT_A);Wait(050);
OnRev (OUT_A);Wait(200);Off(OUT_A+OUT_C);
}
sub hold_can(){
OnFwd(OUT_B);Wait(150);Off(OUT_B);
}
sub part_can(){
OnRev(OUT_B);Wait(150);Off(OUT_B);
}
task main()
SetSensor (SENSOR_1, SENSOR_LIGHT);
SetSensor (SENSOR_3, SENSOR_LIGHT);
sub hold_can (){
while(true){
ClearMessage();
until(Message() = 0);
hold_can();
back();
if((SENSOR_1<=blackline)&&(SENSOR_3>=blackline)){
OnFwd (OUT_A);OnRev (OUT_C);Wait(10);
Wait (020);
OnFwd(OUT_B);
Wait(150);
Off(OUT_B);
OnRev(OUT_A+OUT_B);
Wait(Go_time+300);
}
if((SENSOR_1>=blackline)&&(SENSOR_3<=blackline)){
OnFwd (OUT_C);OnRev (OUT_A);Wait(10);
sub port_can (){
OnRev(OUT_B);
Wait (250);
Off(OUT_B);
OnFwd (OUT_A+OUT_C);
Wait (040);
Off (OUT_A+OUT_C);
}
until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
back();
until((SENSOR_1>=blackline)&&(SENSOR_3>=blackline));
back();
if((SENSOR_1<=blackline)&&(SENSOR_3>=blackline)){
OnFwd (OUT_A);OnRev (OUT_C);Wait(10);
sub go_straight (){
OnFwd (OUT_A+OUT_C);
}
if((SENSOR_1>=blackline)&&(SENSOR_3<=blackline)){
OnFwd (OUT_C);OnRev (OUT_A);Wait(10);
sub go_down (){
OnRev (OUT_A+OUT_C);
}
until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
back();
until((SENSOR_1>=blackline)&&(SENSOR_3>=blackline));
turn_R();
go();
if ((SENSOR_1<=blackline)&&(SENSOR_3>=blackline)){
OnFwd (OUT_C);OnRev (OUT_A);Wait(10);
sub turn_R (){
Off (OUT_A + OUT_C);OnRev (OUT_A+OUT_C);Wait (030);OnFwd (OUT_A);Wait (150);Off (OUT_A+OUT_C);
}
if ((SENSOR_1>=blackline)&&(SENSOR_3<=blackline)){
OnFwd (OUT_A);OnRev (OUT_C);Wait(10);
sub turn_L (){
Off (OUT_A + OUT_C);OnRev (OUT_C+OUT_A);Wait (030);OnFwd(OUT_C);Wait (150);Off (OUT_A+OUT_C);
}
until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
go();
until((SENSOR_1>=blackline)&&(SENSOR_3>=blackline));
go();
until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
turn_R();
part_can();
go();Wait(300);
task main(){
SetSensor (SENSOR_1, SENSOR_LIGHT);
SetSensor (SENSOR_3, SENSOR_LIGHT);
frag=0;
while (true){
if (frag == 0){
hold_can();
go_down ();
until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
OnFwd(OUT_A);OnRev(OUT_C);
until((SENSOR_1<=blackline)&&(SENSOR_3>=blackline));
linetrace();
}
if (frag == 1){
linetrace();
}
if (frag == 2){
OnFwd(OUT_A);OnRev(OUT_C);
until((SENSOR_1<=blackline)&&(SENSOR_3>=blackline));
linetrace();
}
if (frag == 3){
port_can();
frag=0;
}
}
}
}