パラメータ 3. 上げたり下げたり

このステージでもexpert君とcharacterちゃんの2体を交互に操作してクリアを目指します。
expert君は基本同じ場所から動けず、両側にあるスイッチをふり返りながら操作するだけ。実際に動いて宝石を集めるのはもっぱらcharacterちゃんの役目です。
どちらに指示を出しているのか気をつけてドット記法でコードを書けば、行数は多いですがさほど難しいステージではないでしょう。
共通パターンとして「目の前のマスの宝石をとって振り返って最初のマスに戻る」というのがあちこちにあるなと思い関数化しました。

改善希望!役に立った! (+2 rating, 6 votes)
読み込み中...

“パラメータ 3. 上げたり下げたり” への1件の返信

  1. func 協働() {
    character.turnLeft()
    expert.turnLock(up: false, numberOfTimes: 3)
    character.moveForward()
    character.collectGem()
    character.turnLeft()
    character.turnLeft()
    character.moveForward()
    expert.turnLock(up: true, numberOfTimes: 3)
    character.turnLeft()
    expert.turnRight()
    }
    func 移動1() {
    character.moveForward()
    character.collectGem()
    character.turnRight()
    character.moveForward()
    協働()
    }
    func 移動2() {
    character.moveForward()
    character.moveForward()
    協働()
    }

    for i in 1 … 4 {
    expert.turnLock(up: true, numberOfTimes: 4)
    expert.turnRight()
    }
    character.moveForward()
    移動1()
    移動1()
    移動2()
    移動1()

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です