2006b/A3/本のプログラム
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*「本」を書くプログラム [#ae77d8c6]
このプログラムは初めに動かしたときのモーターとのつなぎ方にあわせてプログラミングしているので、
前進が
OnRev(OUT_A+OUT_C);
後進が
OnFwd(OUT_A+OUT_C);
になっています。
#define move_time 455
task main()
{OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(450); Off(OUT_A+OUT_C); //一画目を書く
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
OnFwd(OUT_A); OnRev(OUT_C); Wait(move_time); Off(OUT_A+OUT_C); //左回りに90°回転
OnRev(OUT_A+OUT_C); Wait(200); Off(OUT_A+OUT_C); //前進
OnFwd(OUT_A); OnRev(OUT_C); Wait(move_time); Off(OUT_A+OUT_C); //左回りに90°回転
OnRev(OUT_A+OUT_C); Wait(700); Off(OUT_A+OUT_C); //前進
OnFwd(OUT_A); OnRev(OUT_C); Wait(move_time); Off(OUT_A+OUT_C); //左回りに90°回転
OnRev(OUT_A+OUT_C); Wait(420); Off(OUT_A+OUT_C); //二画目のペンを下ろす位置まで移動
OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(700); Off(OUT_A+OUT_C); //二画目を書く
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
OnFwd(OUT_A+OUT_C); Wait(940); Off(OUT_A+OUT_C); //ロボットの回転の中心を「十」のクロスした点に移動
OnRev(OUT_A); OnFwd(OUT_C); Wait(260); Off(OUT_A+OUT_C); //右回りに少し回転
OnRev(OUT_A+OUT_C); Wait (450); Off(OUT_A+OUT_C); //三画目ペンを下ろす位置まで少し移動
OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(450); Off(OUT_A+OUT_C); //三画目を書く
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
OnFwd(OUT_A+OUT_C); Wait(950); Off(OUT_A+OUT_C); //回転の位置まで後進
OnFwd(OUT_A); OnRev(OUT_C); Wait(490); Off(OUT_A+OUT_C); //左回りに回転
OnRev(OUT_A+OUT_C); Wait(455); Off(OUT_A+OUT_C); //四画目のペンを下ろす位置まで少し移動
OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(300); Float(OUT_C); Wait(250); Off(OUT_A); //四画目を書く(払いもなめらかに)
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
OnFwd(OUT_A+OUT_C); Wait(600); Off(OUT_A+OUT_C); //後進
OnFwd(OUT_A); OnRev(OUT_C); Wait(260); Off(OUT_A+OUT_C); //左回りに少し回転
OnFwd(OUT_A+OUT_C); Wait(10); Off(OUT_A+OUT_C); //五画目のペンを下ろす位置までほんの少し移動
OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(250); Off(OUT_A+OUT_C); //五画目
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
}
[[課題1左に戻る>2006b/A3/課題1左]]
終了行:
*「本」を書くプログラム [#ae77d8c6]
このプログラムは初めに動かしたときのモーターとのつなぎ方にあわせてプログラミングしているので、
前進が
OnRev(OUT_A+OUT_C);
後進が
OnFwd(OUT_A+OUT_C);
になっています。
#define move_time 455
task main()
{OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(450); Off(OUT_A+OUT_C); //一画目を書く
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
OnFwd(OUT_A); OnRev(OUT_C); Wait(move_time); Off(OUT_A+OUT_C); //左回りに90°回転
OnRev(OUT_A+OUT_C); Wait(200); Off(OUT_A+OUT_C); //前進
OnFwd(OUT_A); OnRev(OUT_C); Wait(move_time); Off(OUT_A+OUT_C); //左回りに90°回転
OnRev(OUT_A+OUT_C); Wait(700); Off(OUT_A+OUT_C); //前進
OnFwd(OUT_A); OnRev(OUT_C); Wait(move_time); Off(OUT_A+OUT_C); //左回りに90°回転
OnRev(OUT_A+OUT_C); Wait(420); Off(OUT_A+OUT_C); //二画目のペンを下ろす位置まで移動
OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(700); Off(OUT_A+OUT_C); //二画目を書く
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
OnFwd(OUT_A+OUT_C); Wait(940); Off(OUT_A+OUT_C); //ロボットの回転の中心を「十」のクロスした点に移動
OnRev(OUT_A); OnFwd(OUT_C); Wait(260); Off(OUT_A+OUT_C); //右回りに少し回転
OnRev(OUT_A+OUT_C); Wait (450); Off(OUT_A+OUT_C); //三画目ペンを下ろす位置まで少し移動
OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(450); Off(OUT_A+OUT_C); //三画目を書く
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
OnFwd(OUT_A+OUT_C); Wait(950); Off(OUT_A+OUT_C); //回転の位置まで後進
OnFwd(OUT_A); OnRev(OUT_C); Wait(490); Off(OUT_A+OUT_C); //左回りに回転
OnRev(OUT_A+OUT_C); Wait(455); Off(OUT_A+OUT_C); //四画目のペンを下ろす位置まで少し移動
OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(300); Float(OUT_C); Wait(250); Off(OUT_A); //四画目を書く(払いもなめらかに)
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
OnFwd(OUT_A+OUT_C); Wait(600); Off(OUT_A+OUT_C); //後進
OnFwd(OUT_A); OnRev(OUT_C); Wait(260); Off(OUT_A+OUT_C); //左回りに少し回転
OnFwd(OUT_A+OUT_C); Wait(10); Off(OUT_A+OUT_C); //五画目のペンを下ろす位置までほんの少し移動
OnFwd(OUT_B); Wait(10); Off(OUT_B); //ペンを下ろす
OnRev(OUT_A+OUT_C); Wait(250); Off(OUT_A+OUT_C); //五画目
OnRev(OUT_B); Wait(10); Off(OUT_B); //ペンを上げる
}
[[課題1左に戻る>2006b/A3/課題1左]]
ページ名: