Swift Playgrounds

コードを学ぼう1【関数をじょうずに使う】解答例と解説

関数をじょうずに使う

解答例

func collectOrToggle() {
  moveForward()
  moveForward()
  if isOnGem() {
    collectGem()
  } else if isOnClosedSwitch {
    toggleSwitch()
  }
}

collectOrToggle()
collectOrToggle()
turnLeft()
moveForward()
moveForward()
turnLeft()
collectOrToggle()
collectOrToggle()
turnRight()
moveForward()
turnRight()
collectOrToggle()
collectOrToggle()

解説

関数の中に、if文が入りました。
ステージは2歩ごとに宝石かスイッチがあり、スイッチは点いていたり点いてなかったりします。
ランダムに出てくるので、『if』を使って調べますが、これを関数でまとめたら使いやすいですね。
関数は、まず2歩進んでからifを使うコードを入力します。
あとは、道順にコードを配置していけばゴールできます。

以下のように、もう一つ『一列分を解決する』関数を作ってもいいですね。

func collectOrToggle() {
  moveForward()
  moveForward()
  if isOnGem() {
    collectGem()
  } else if isOnClosedSwitch {
    toggleSwitch()
  }
}

func solveRow() {
  collectOrToggle()
  collectOrToggle()
}

solveRow()
turnLeft()
moveForward()
moveForward()
turnLeft()
solveRow()
turnRight()
moveForward()
turnRight()
solveRow()
要点まとめ

・関数の中にif文を入れて、何度も活用しよう