演習 - do と while の反復ステートメントを使用して課題アクティビティを完了する
コードの課題は、学習した内容を補強し、続行する前にある程度の自信を得るのに役立ちます。
ロール プレイング ゲームのバトルの課題
一部のロール プレイング ゲームでは、プレーヤーのキャラクターがプレーヤー以外のキャラクター (通常はモンスターや "悪人") と戦います。 場合によっては、サイコロを使用して乱数値を生成する各キャラクターでバトルが構成され、その値が対戦相手のヘルス スコアから差し引かれます。 いずれかのキャラクターのヘルスがゼロに達すると、そのキャラクターは負けます。
この課題では、このような対話をその本質まで要約します。 ヒーローとモンスターは、同じヘルス スコアで開始します。 ヒーローのターン中に、モンスターのヘルスから減算されるランダムな値が生成されます。 モンスターのヘルスがゼロよりも大きい場合は、そのターンとなり、ヒーローが攻撃されます。 ヒーローとモンスターの両方のヘルスがゼロより大きい限り、バトルは再開されます。
コードの課題 - ゲーム ルールを実装するコードを記述する
コード プロジェクトに実装する必要があるバトル ゲームのルールを次に示します。
- 外部のゲーム ループとして、
do-whileステートメントかwhileステートメントのいずれかを使用する必要があります。 - ヒーローとモンスターは、ヘルス ポイント 10 から開始します。
- すべての攻撃は、1 から 10 の値となります。
- ヒーローが最初に攻撃します。
- モンスターが失ったヘルスの量と残りのヘルスを出力する。
- モンスターのヘルスが 0 より大きい場合は、ヒーローを攻撃できる。
- ヒーローが失ったヘルスの量と残りのヘルスを出力する。
- モンスターのヘルスまたはヒーローのヘルスのいずれかがゼロ以下になるまで、この攻撃のシーケンスを続行する。
- 勝者を出力する。
Visual Studio Code で空の Program.cs ファイルが開かれていることを確認します。
必要であれば、Visual Studio Code を開き、次の手順のようにしてエディターで Program.cs ファイルを準備します。
[ ファイル ] メニューの [ フォルダーを開く] を選択します。
[フォルダーを開く] ダイアログを使用して、 CsharpProjects フォルダーに移動して開きます。
Visual Studio Code のエクスプローラー パネルで、Program.cs を選びます。
Visual Studio Code の [選択] メニューで、[すべて選択] を選択してから Delete キーを押します。
各ルールを実装するゲーム コードを記述します。
アプリケーションを実行し、出力が要件を満たしていることを確認します。
どのような方法で行っても、コードで次のような出力が生成される必要があります。
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!コードでは乱数が使用され、結果は毎回異なるため、結果は上記の出力とは異なります。 ただし、これはコードによって生成される出力例として使用できます。
行き詰まって解答を見る必要がある場合でも、無事完了した場合でも、この課題の解答を引き続きご覧ください。