同じ処理を何度も繰り返すfor文の登場です。
基本形はこんな感じ。
1 2 3 |
for i in 1 ... (繰り返したい回数) { (繰り返したい処理内容) } |
関数と同じで{}にはさまれた部分が繰り返し実行される内容になります。iとかinとか若干意味不明な部分がありますが、当面はそういうものだと思っておきます。特にSwift Playgroundsではfor文のショートカットをタップすれば、基本文法は自動で入力されて、繰り返したい数字を入れるだけですし。とにかく{}で繰り返す内容をサンドすることだけ注意しておきましょう。たまにうっかり}を消してしまったりしがちなので。またこれもfuncと同じく、{と}の間の行は先頭にスペース4つ入れて字下げしておくとコード全体の見通しがよくなるのでオススメです。
このステージでは、「2歩進み宝石を取り、さらに1歩進む」とワープを通って最初の行の2つ隣の列に移動します。なのでこれをパターンとして列の数(5回)繰り返せばクリアできます。
今までなら
1 2 3 4 5 6 7 8 9 10 11 |
func pattern1() { moveForward() moveForward() collectGem() moveForward() } pattern1 pattern1 pattern1 pattern1 pattern1 |
などとするところでしょう。しかしいくら関数が繰り返しに便利だといっても、こう単純に何度も同じコマンドを書くのはめんどくさいですし、後で何回繰り返しているのかも数えないとわかりません。
そこで同じことをその場で繰り返すだかならfor文の方が便利というわけです。
1 2 3 4 5 6 |
for i in 1 ... 5 { moveForward() moveForward() collectGem() moveForward() } |