ここもワープを考えると、実はひたすら単純なパターンを繰り返しているステージであるということに気付くと思います。
その1ループ分をコードにし、さいごまで繰り返すwhileループを作りましょう。
下の例ではループ構造とループの中身をわけて見通し易い様に、中身をfuncで関数にしてみました。こうしておくとwhile文の{}の中がシンプルになって、どこでなにをしているのか読み取りやすくなります。
1 2 3 4 5 6 7 8 9 10 11 |
func turnAndCollectGem() { moveForward() turnLeft() moveForward() collectGem() turnRight() } while !isBlocked { turnAndCollectGem() } |