[[2016a/Member]]

#define PEN_DOWN RotateMotor(OUT_A,25,30);
#define PEN_UP RotateMotor(OUT_A,-25,30);
#define GO_FORWARD(s) OnFwd(OUT_BC,25);Wait(s);Off(OUT_BC);
#define GO_BACK(u) OnRev(OUT_BC,25);Wait(u);Off(OUT_BC);
#define TURN_LEFT45 OnFwd(OUT_B,50);Wait(570);Off(OUT_B);
#define TURN_LEFT OnFwd(OUT_B,50);Wait(1140);Off(OUT_B);
#define TURN_LEFT2 OnRev(OUT_C,50);Wait(1140);Off(OUT_C);
#define TURN_RIGHT OnFwd(OUT_C,50);Wait(1140);Off(OUT_C);
#define TURN_RIGHT2 OnRev(OUT_B,50);Wait(1140);Off(OUT_B);
#contents

task main ()
{
  PEN_DOWN
  GO _FORWARD(800)
  PEN_UP
  GO_FORWARD(1920)
  TURN_LEFT45
  GO_BACK(2650)
  PEN_DOWN
  GO_FORWARD(480)
  PEN_UP
  GO_FORWARD(1750)
  TURN_LEFT45
  GO_BACK(2560)
  PEN_DOWN
  GO_FORWARD(320)
  PEN_UP
  GO_FORWARD(1520)
  TURN_LEFT45
  GO_BACK(2320)
  PEN_DOWN
  GO_FORWARD(480)
  PEN_UP
  GO_FORWARD(1840)
  TURN_LEFT45
  GO_BACK(2320)
  PEN_DOWN
  GO_FORWARD(800)
  PEN_UP
  GO_FORWARD(2560)
  TURN_LEFT2
  GO_BACK(1280)
  PEN_DOWN
  GO_FORWARD(960)
  PEN_UP
  GO_FORWARD(320)
  TURN_RIGHT
  GO_BACK(160)
  TURN_LEFT2
  GO_BACK(640)
  PEN_DOWN
  GO_BACK(240)
  PEN_UP
  GO_BACK(160)
  PEN_DOWN
  GO_BACK(240)
  PEN_UP
  GO_FORWARD(3200)
  TURN_LEFT2
  GO_BACK(1360)
  PEN_DOWN
  GO_BACK(160)
  PEN_UP
  GO_FORWARD(1520)
  TURN_RIGHT
  GO_FORWARD(240)
  TURN_LEFT2
  GO_BACK(1360)
  PEN_DOWN
  GO_BACK(160)
  PEN_UP
  GO_FORWARD(1520)
  TURN_RIGHT
  GO_FORWARD(160)
  TURN_LEFT2
  GO_BACK(1360)
  PEN_DOWN
  GO_BACK(160)
  PEN_UP
  GO_FORWARD(1520)
  TURN_RIGHT
  GO_FORWARD(240)
  TURN_LEFT2
  GO_BACK(1360)
  PEN_DOWN
  GO_BACK(160)
  PEN_UP
  TURN_LEFT
  GO_FORWARD(320)
  TURN_RIGHT2
  GO_BACK(80)
  PEN_DOWN
  GO_FORWARD(320)
  PEN_UP
  GO_FORWARD(1600)
  TURN_LEFT
  GO_BACK(3360)
  PEN_DOWN
  GO_BACK(80)
  PEN_UP
  GO_FORWARD(3440)
  TURN_RIGHT2
  GO_FORWARD(320)
  TURN_LEFT
  GO_BACK(3200)
  PEN_DOWN
  GO_BACK(320)
}
*はじめに [#w8c85221]

課題は似顔絵を描くロボットである。

注意点は

・マクロや関数、サブルーチンなどを使い、main関数がなるべく単純になるようにプログラムを作る。

・定数名やマクロなどは分かりやすい名前を用いる。

・余裕をもってA4の紙の中に収まる大きさにする。いくら小さくてもよい。

・ペン以外はキットの部品を使う。

・輪ゴムは切れやすく高価なので慎重に扱い、張力がかかりすぎないようにする。

これらに注意をし、今回は自分の似顔絵を描いた。

*ロボットの説明 [#gd87beb3]


 #define PEN_DOWN RotateMotor(OUT_A,25,30);
 #define PEN_UP RotateMotor(OUT_A,-25,30);
 #define GO_FORWARD(s) OnFwd(OUT_BC,25);Wait(s);Off(OUT_BC);
 #define GO_BACK(u) OnRev(OUT_BC,25);Wait(u);Off(OUT_BC);
 #define TURN_LEFT45 OnFwd(OUT_B,50);Wait(570);Off(OUT_B);
 #define TURN_LEFT OnFwd(OUT_B,50);Wait(1140);Off(OUT_B);
 #define TURN_LEFT2 OnRev(OUT_C,50);Wait(1140);Off(OUT_C);
 #define TURN_RIGHT OnFwd(OUT_C,50);Wait(1140);Off(OUT_C);
 #define TURN_RIGHT2 OnRev(OUT_B,50);Wait(1140);Off(OUT_B);

 task main ()
 {
   PEN_DOWN
   GO _FORWARD(800)
   PEN_UP
   GO_FORWARD(1920)
   TURN_LEFT45
   GO_BACK(2650)
   PEN_DOWN
   GO_FORWARD(480)
   PEN_UP
   GO_FORWARD(1750)
   TURN_LEFT45
   GO_BACK(2560)
   PEN_DOWN
   GO_FORWARD(320)
   PEN_UP
   GO_FORWARD(1520)
   TURN_LEFT45
   GO_BACK(2320)
   PEN_DOWN
   GO_FORWARD(480)
   PEN_UP
   GO_FORWARD(1840)
   TURN_LEFT45
   GO_BACK(2320)
   PEN_DOWN
   GO_FORWARD(800)
   PEN_UP
   GO_FORWARD(2560)
   TURN_LEFT2
   GO_BACK(1280)
   PEN_DOWN
   GO_FORWARD(960)
   PEN_UP
   GO_FORWARD(320)
   TURN_RIGHT
   GO_BACK(160)
   TURN_LEFT2
   GO_BACK(640)
   PEN_DOWN
   GO_BACK(240)
   PEN_UP
   GO_BACK(160)
   PEN_DOWN
   GO_BACK(240)
   PEN_UP
   GO_FORWARD(3200)
   TURN_LEFT2
   GO_BACK(1360)
   PEN_DOWN
   GO_BACK(160)
   PEN_UP
   GO_FORWARD(1520)
   TURN_RIGHT
   GO_FORWARD(240)
   TURN_LEFT2
   GO_BACK(1360)
   PEN_DOWN
   GO_BACK(160)
   PEN_UP
   GO_FORWARD(1520)
   TURN_RIGHT
   GO_FORWARD(160)
   TURN_LEFT2
   GO_BACK(1360)
   PEN_DOWN
   GO_BACK(160)
   PEN_UP
   GO_FORWARD(1520)
   TURN_RIGHT
   GO_FORWARD(240)
   TURN_LEFT2
   GO_BACK(1360)
   PEN_DOWN
   GO_BACK(160)
   PEN_UP
   TURN_LEFT
   GO_FORWARD(320)
   TURN_RIGHT2
   GO_BACK(80)
   PEN_DOWN
   GO_FORWARD(320)
   PEN_UP
   GO_FORWARD(1600)
   TURN_LEFT
   GO_BACK(3360)
   PEN_DOWN
   GO_BACK(80)
   PEN_UP
   GO_FORWARD(3440)
   TURN_RIGHT2
   GO_FORWARD(320)
   TURN_LEFT
   GO_BACK(3200)
   PEN_DOWN
   GO_BACK(320)
 }


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS