演習 - do と while の反復ステートメントを使用して課題アクティビティを完了する

完了

コードの課題は、学習した内容を確実に理解し、先に進む前にある程度の自信を得るのに役立ちます。

ロール プレイング ゲームのバトルの課題

一部のロール プレイング ゲームでは、プレーヤーのキャラクターがプレーヤー以外のキャラクター (通常はモンスターや "悪人") と戦います。 場合によっては、サイコロを使用して乱数値を生成する各キャラクターでバトルが構成され、その値が対戦相手のヘルス スコアから差し引かれます。 いずれかのキャラクターのヘルスがゼロに達すると、そのキャラクターは負けます。

この課題では、このようなやりとりをその本質まで要約します。 ヒーローとモンスターは、同じヘルス スコアで開始します。 ヒーローのターン中に、モンスターのヘルスから減算される乱数値が生成されます。 モンスターのヘルスがゼロよりも大きい場合は、モンスターのターンとなり、ヒーローが攻撃されます。 ヒーローとモンスターの両方のヘルスがゼロより大きい限り、バトルは再開されます。

コードの課題 - ゲーム ルールを実装するコードを記述する

コード プロジェクトに実装する必要があるバトル ゲームのルールを次に示します。

  • 外部のゲーム ループとして、do-while ステートメントか while ステートメントのいずれかを使用する必要があります。
  • ヒーローとモンスターは、ヘルス ポイント 10 から開始する。
  • すべての攻撃は、1 から 10 の値となる。
  • ヒーローが最初に攻撃する。
  • モンスターが失ったヘルスの量と残りのヘルスを出力する。
  • モンスターのヘルスが 0 より大きい場合は、ヒーローを攻撃できる。
  • ヒーローが失ったヘルスの量と残りのヘルスを出力する。
  • モンスターのヘルスまたはヒーローのヘルスのいずれかがゼロ以下になるまで、この攻撃のシーケンスを続行する。
  • 勝者を出力する。
  1. Visual Studio Code で空の Program.cs ファイルが開かれていることを確認します。

    必要であれば、Visual Studio Code を開き、次の手順のようにしてエディターで Program.cs ファイルを準備します。

    1. [ファイル] メニューの [フォルダーを開く] を選択します。

    2. [フォルダーを開く] ダイアログを使って CsharpProjects フォルダーに移動して開きます。

    3. Visual Studio Code のエクスプローラー パネルで、Program.cs を選びます。

    4. Visual Studio Code の [選択] メニューで、[すべて選択] を選択してから Delete キーを押します。

  2. 各ルールを実装するゲーム コードを記述します。

  3. アプリケーションを実行し、出力が要件を満たしていることを確認します。

    どのような方法で行っても、コードで次のような出力が生成される必要があります。

    Monster was damaged and lost 1 health and now has 9 health.
    Hero was damaged and lost 1 health and now has 9 health.
    Monster was damaged and lost 7 health and now has 2 health.
    Hero was damaged and lost 6 health and now has 3 health.
    Monster was damaged and lost 9 health and now has -7 health.
    Hero wins!
    

    当然ながら、コードのランダムな性質により、結果は毎回異なるため、上記の出力とは確実に異なる結果になります。 ただし、これはコードによって生成される出力例として使用できます。

行き詰まって解答を見る必要がある場合でも、無事完了した場合でも、この課題の解答を引き続きご覧ください。