⒈ ループを使う
ループを使って、1つの関数を繰り返し呼び出します。
波かっこの中に、1つの列をクリアするためのコードを入力し、ループを繰り返す回数を入力します。
解答例
解説
for i in 1 ... 5{
moveForward()
moveForward()
collectGem()
moveForward()
}
5回ループ {
前に進む
前に進む
宝石を取る
前に進む
}
⒉ 4辺でループする
今回は4回のループなので、
for ループの数字は 4 になります。
波かっこの中に、書いてあるコードを入れます。
解答例
解説
for i in 1 ... 4 {
moveForward()
collectGem()
moveForward()
moveForward()
moveForward()
turnRight()
}
4回のループ {
前に進む
宝石を取る
前に進む
前に進む
前に進む
右を向く
}
⒊ 端まで行って戻る
中央の地点から各スイッチに移動して、スイッチを順に入れます。
4辺 全て同じ条件なので、4回のループで完成します。
1つのパターンを作って、波かっこに入れて繰り返します。
解答例
解説
for i in 1 ... 4 {
moveForward()
moveForward()
toggleSwitch()
turnRight()
turnRight()
moveForward()
moveForward()
turnRight()
}
4回のループ {
前に進む
前に進む
スイッチを入れる
右を向く
右を向く
前に進む
前に進む
右を向く
}
⒋ ワープしてループして
ワープを通る繰り返しのパターンを見つけます。
5つの宝石があるので、シンプルなパターンを5回繰り返して全ての宝石が取れるように工夫して見ます。
解答例
解説
for i in1 .... 5 {
moveForward()
turnLeft()
moveForward()
moveForward()
collectGem()
turnRight()
}
5回のループ {
前に進む
左を向く
前に進む
前に進む
宝石を取る
右を向く
}
⒌ 3つの分かれ道
横の一列を1つのパターンとして考えます。
解答例
解説
func Forward7() {
moveForward()
moveForward()
moveForward()
moveForward()
moveForward()
moveForward()
moveForward()
}
for i in 1 ... 3 {
moveForward()
moveForward()
turnRight()
Forward7()
toggleSwitch()
turnRight()
turnRight()
Forward7()
turnRight()
}
7歩進む Forward7() の定義 {
前に進む
前に進む
前に進む
前に進む
前に進む
前に進む
前に進む
}
3回のループ {
前に進む
前に進む
右を向く
Forward7() の実行
スイッチを入れる
右を向く
右を向く
Forward7() の実行
右を向く
}
⒍ 右にも左にも
動作をいくつかのパターンに分解して見ます。
・宝石を取る
・前に進む(取った後、スイッチを入れた後)
・スイッチを入れる
これを定義して、ループする。
解答例
解説
func Gem2() {
turnRight()
moveForward()
collectGem()
moveForward()
collectGem()
turnRight()
turnRight()
}
func Forward3() {
moveForward()
moveForward()
moveForward()
}
func Swich2() {
toggleSwitch()
moveForward()
toggleSwitch()
turnRight()
turnRight()
moveForward()
moveForward()
turnLeft()
moveForward()
}
for i in 1 ... 3 {
Gem2()
Forward3()
Swich2()
}
宝石2つを取る Gem2() を定義 {
右を向く
前に進む
宝石を取る
前に進む
宝石を取る
右を向く
右を向く
}
3歩進む Forward3() の定義 {
前に進む
前に進む
前に進む
}
スイッチを2回入れる Swich2() の定義 {
スイッチを入れる
前に進む
スイッチを入れる
右を向く
右を向く
前に進む
前に進む
左を向く
前に進む
}
3回のループ {
Gem2() の実行
Forward3() の実行
Swich2() の実行
}
⒎ 4つの場所に4つの宝石
ステージを眺めると、4つのパターンで構成されています。
パターンを見つけて分解し、関数とfor文を作る練習をしましょう。
まずは、宝石のまとまりとワープの位置に注目しましょう。
ひとまとまりの宝石を集めて次の場所に移動するパターン
解答例
解説
for i in 1 ... 4 {
moveForward()
collectGem()
moveForward()
collectGem()
turnRight()
turnRight()
moveForward()
turnRight()
moveForward()
collectGem()
turnRight()
turnRight()
moveForward()
moveForward()
collectGem ()
moveForward()
}
4回のループ {
前に進む
宝石を取る
前に進む
宝石を取る
右を向く
右を向く
前に進む
右を向く
前に進む
宝石を取る
右を向く
右を向く
前に進む
前に進む
宝石を取る
前に進む
}



コメント