スポンサーリンク
スポンサーリンク
解答例
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文を入れて、何度も活用しよう
スポンサーリンク