演習 - 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!
当然ながら、コードのランダムな性質により、結果は毎回異なるため、上記の出力とは確実に異なる結果になります。 ただし、これはコードによって生成される出力例として使用できます。
行き詰まって解答を見る必要がある場合でも、無事完了した場合でも、この課題の解答を引き続きご覧ください。