パラメータ 7. 2つのエキスパート

このステージのポイントはキャラクターが両方ともExpert型だということです。なので両方ともexpertやexという名前にしてしまうと混乱してしまいます(というかエラーになります)。そこで、私はex1とex2のように番号をふった名前にしてみました。taroとhanakoでも構いません。
それぞれの違いにだけ気をつけて、あとはじっくり順をおって作り込んでいけば大丈夫です。

この記事がお役に立ったなら簡単にカンパできます。

QRコードを読み取って寄付

スマホから

Powered by Stripe logo
改善希望!役に立った! (+3 rating, 3 votes)
読み込み中...

“パラメータ 7. 2つのエキスパート” への6件の返信

  1. 子供と一緒にSwiftを勉強しようとSwift Playgroundsに挑んだのですが、中々クリア出来ず四苦八苦してしましたが、ここにたどり着けて本当に助かっていますし、勉強になります。

    この先の模範解答も宜しくお願い致します。
    子供とともに楽しみにしております。

    1. ありがとうございます。まずはようやく「コードを学ぼう」の1と2の全ステージを掲載できました。引き続きお役に立てば幸いです。
      ここがよくわからない、ここはヒント出し過ぎ!などご意見などもあればお聞かせください。

      1. あ、ごめんなさい。2はまだ途中でした。プレイ自体は進んでますので、追々埋めていきます。

  2. let expertA = Expert()
    let expertB = Expert()

    enum TurnTo {
    case left
    case right
    case none
    }

    world.place(expertA, facing: .east, atColumn: 0, row: 0)
    world.place(expertB, facing: .north, atColumn: 0, row: 4)

    func moveAndCollect(bot: Expert, move: Int, turnTo: TurnTo) {

    for i in 1 … move {
    if bot.isOnGem {
    bot.collectGem()
    }
    bot.moveForward()
    if bot.isOnGem {
    bot.collectGem()
    }
    }

    if turnTo == .left {
    bot.turnLeft()
    } else if turnTo == .right {
    bot.turnRight()
    }

    }

    moveAndCollect(bot: expertA, move: 3, turnTo: .left)
    expertA.turnLock(up: true, numberOfTimes: 2)
    expertB.turnLock(up: false, numberOfTimes: 1)
    expertA.turnRight()
    moveAndCollect(bot: expertA, move: 3, turnTo: .none)
    expertA.turnLock(up: false, numberOfTimes: 2)
    expertB.turnRight()
    moveAndCollect(bot: expertB, move: 7, turnTo: .none)

コメントを残す

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