オブジェクト指向演習:3人の魔導士の続き(オブジェクト配列、乱数の改良) ゲーム開発演習:メッセージボックス、システム側からの必要に応じた再描画の確認、背景画像の描画 RPG演習7 3人の魔導士 ver.2 ・3人の魔導士にしたいので、魔導士オブジェクトを長さ3の配列で扱うようにしよう ・実行イメージ 魔道士1(HP=14 MP=0)が現れた。 魔道士2(HP=14 MP=0)が現れた。 魔道士3(HP=14 MP=0)が現れた。 残りHPは20です。どれを攻撃しますか?(1/2/3:魔導士を攻撃 0:やめる):1 あなたの攻撃! 魔道士1(HP=14 MP=0)に8のダメージを与えた! 魔道士1(HP=6 MP=0)の攻撃! あなたは4のダメージを受けた! 魔道士2(HP=14 MP=0)の攻撃! あなたは3のダメージを受けた! 魔道士3(HP=14 MP=0)の攻撃! あなたは2のダメージを受けた! 残りHPは11です。どれを攻撃しますか?(1/2/3:魔導士を攻撃 0:やめる):1 : ・まずは、最低限の仕様を実装し、追加すべきことを洗い出そう ・「魔道士[0]の情報を表示する」を3人分に ・ループの条件「あなたのHPがあり、魔導士[0]のHPがある間」を「あなたのHPがあり、どれかの魔導士のHPがある間」に ・「攻撃しますか?(1:はい 0:やめる)」を「どれを攻撃しますか?(1/2/3:魔導士を攻撃 0:やめる)」に ・「魔道士[0]を攻撃する」を「魔道士[入力値を整数化して-1した値]を攻撃する」に ・「魔道士[0]は死んでない?」を「どれかの魔導士のHPがある?」に ・「魔道士[0]の攻撃!あなたのHPをマイナス」を3人分に ・「逃げられない!」の後の「魔道士[0]の攻撃!あなたのHPをマイナス」も3人分に 作成例 //オブジェクト指向演習 RPG演習7 3人の魔導士 ver.2 using System; class Madoshi { //魔導士を表すクラス(部品) int mp; //MP int hp; //HP int id; //魔導士番号 Random rnd = new Random(); //乱数用のRandomクラスのインスタンスを生成 public Madoshi (int id) { //コンストラクタ mp = rnd.Next(10); //0~9の間のランダムな整数を得てMPの初期値とする hp = 10 + rnd.Next(10); //10~19の間のランダムな整数を得てHPの初期値とする this.id = id; //生成時に指定した魔導士番号を設定 } public int HP { //HPを返すプロパティ get { return hp; } //getのみなので外部からのhpの書換を禁止 } public void DispInfo() { //魔導士の情報を表示する Console.Write("魔道士{0}(HP={1} MP={2})", id, hp, mp); //表示(改行しない)…