迷路にいるロボットを脱出させよ!

図1のような迷路がある.M教授が開発した亀型ロボットがSの地点からスタートして, 今,Aの地点にいる(図2参照).

Gの地点まで一度も迷うことなく到達させるプログラムを作成しなさいa(図3参照). ただし,用いることができる命令は,次の3つである.

  1. forward(s):s(1ブロック)だけ前に進めb
  2. right(90):右を向け(右に90度回転しなさい)
  3. left(90):左を向け(左に90度回転しなさい)

sは1ブロック分の進む数であり,1ブロックは50である. 迷路のコース設定は,set_course.pyをimportすればよい. このロボットは壁に穴を開けて進むことはできないので,図4のような解答は不正解とする.

from turtle import *
import set_course
s = 50
forward(s*2)

















図4 誤った解答例

補足

  1. あたなはこの迷路の地図(図1)を見ているので,最短経路を知っていて, ロボットを迷わせずにゴールまで到達させることができる.
  2. 厳密にいうと,forward(x)は「前に進め」ではなく, 「顔を向けている方向にxピクセル分動きに沿って線を引け」という命令を実行する. したがって,壁(青い線)があっても前に進んで(線を引いて)しまうので注意!


参考文献