文字書きロボットプログラムサンプル

task main()

{

#define NO1 200
#define NO1_BACK 100
#define NO1_NO2 100
#define NO2 200
#define NO3 200
#define TURN 50
#define TURN2 70
#define TURN3 140
#define UP_DOWN 30

OnFwd(OUT_B);	ペンを下ろす
Wait(UP_DOWN);
Off(OUT_B);

OnRev(OUT_A+OUT_C);	1画目を書く
Wait(NO1);
Off(OUT_A+OUT_C);

OnRev(OUT_B);	ペンを上げる
Wait(UP_DOWN);
Off(OUT_B);

OnFwd(OUT_A+OUT_C);	中心に戻る バック
Wait(NO1_BACK);
Off(OUT_A+OUT_C);

OnFwd(OUT_A);	方向を変える 右回り
OnRev(OUT_C);
Wait(TURN);
Off(OUT_A+OUT_C);

OnFwd(OUT_A+OUT_C);	2画目の位置に移動
Wait(NO1_NO2);
Off(OUT_A+OUT_C);

OnFwd(OUT_B);	ペンを下ろす
Wait(UP_DOWN);
Off(OUT_B);

OnRev(OUT_A+OUT_C);	2画目を書く バック
Wait(NO1_NO2+NO2);
Off(OUT_A+OUT_C);

OnRev(OUT_B);	ペンを上げる
Wait(UP_DOWN);
Off(OUT_B);

OnFwd(OUT_A+OUT_C);	中心に戻る
Wait(NO2);
Off(OUT_A+OUT_C);

OnFwd(OUT_A);	方向を変える 右回り
OnRev(OUT_C);
Wait(TURN2);
Off(OUT_A+OUT_C);

OnFwd(OUT_B);	ペンを下ろす
Wait(UP_DOWN);
Off(OUT_B);

OnRev(OUT_A+OUT_C);	3画目を書く バック
Wait(NO3);
Off(OUT_A+OUT_C);

OnRev(OUT_B);	ペンを上げる
Wait(UP_DOWN);
Off(OUT_B);

OnFwd(OUT_A+OUT_C);	中心に戻る
Wait(NO3);
Off(OUT_A+OUT_C);

OnRev(OUT_A);	方向を変える 左回り
OnFwd(OUT_C);
Wait(TURN3);
Off(OUT_A+OUT_C);

OnFwd(OUT_B);	ペンを下ろす
Wait(UP_DOWN);
Off(OUT_B);

OnRev(OUT_A+OUT_C);	4画目を書く バック
Wait(NO3);
Off(OUT_A+OUT_C);

OnRev(OUT_B);	ペンを上げる
Wait(UP_DOWN);
Off(OUT_B);

}

NEXT

task main()

{

#define NO1 100

#define NO1_BACK 80

#define NO1_NO2 30

#define NO2 100

#define NO2_BACK 110

#define NO2_NO3 35

#define NO3 70

#define NO3_NO3 40

#define TURN 140

#define TURN2 70

#define TURN3 140

#define UP_DOWN 8

OnFwd(OUT_B); Wait(UP_DOWN); Off(OUT_B);

OnRev(OUT_A+OUT_C); Wait(NO1); Off(OUT_A+OUT_C);

OnRev(OUT_B); Wait(UP_DOWN); Off(OUT_B);

OnFwd(OUT_A+OUT_C); Wait(NO1_BACK); Off(OUT_A+OUT_C);

OnFwd(OUT_A); OnRev(OUT_C); Wait(TURN); Off(OUT_A+OUT_C);

OnFwd(OUT_B); Wait(UP_DOWN); Off(OUT_B);

OnRev(OUT_A+OUT_C); Wait(NO2); Off(OUT_A+OUT_C);

OnRev(OUT_B); Wait(UP_DOWN); Off(OUT_B);

OnFwd(OUT_A+OUT_C); Wait(NO2_BACK); Off(OUT_A+OUT_C);

OnFwd(OUT_A); OnRev(OUT_C); Wait(TURN2); Off(OUT_A+OUT_C);

OnRev(OUT_A+OUT_C); Wait(NO2_NO3); Off(OUT_A+OUT_C);

OnFwd(OUT_B); Wait(UP_DOWN); Off(OUT_B);

OnRev(OUT_A+OUT_C); Wait(NO3); Off(OUT_A+OUT_C);

OnRev(OUT_B); Wait(UP_DOWN); Off(OUT_B);

OnFwd(OUT_A+OUT_C); Wait(NO2_NO3+NO3); Off(OUT_A+OUT_C);

OnRev(OUT_A); OnFwd(OUT_C); Wait(TURN3); Off(OUT_A+OUT_C);

OnRev(OUT_A+OUT_C); Wait(NO3_NO3); Off(OUT_A+OUT_C);

OnFwd(OUT_B); Wait(UP_DOWN); Off(OUT_B);

OnRev(OUT_A+OUT_C); Wait(NO3); Off(OUT_A+OUT_C);

OnRev(OUT_B); Wait(UP_DOWN); Off(OUT_B);

}


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-05-18 (木) 18:28:18