ループを入れ子(ネスト)にする練習の続きです。ゴールまで進むという外側のループと、曲がり角まで前進するという内側のループで構成します。for文のように回数をあらかじめ指定するわけではないので、実行毎にステージの広さが変化しても対応できます。
課題文には「ネストしたループと条件を使って」とあるので、whileの代わりにif文を使っても良いでしょう。
1 2 3 4 5 6 7 8 9 10 11 |
//閉スイッチに到達するまで繰り替える while !isOnClosedSwitch { //行き止まりにならない限り前進 while !isBlocked { moveForward() } //行き止まったら(内側のループを抜けたら)曲がる turnRight() } //スイッチに到達したら(外側のループを抜けたら)スイッチ操作 toggleSwitch() |
ならんのやけど