下記のプログラムをコピーして利用する
/* メソッド呼び出し例は、mainメソッドで下記のように宣言した場合の例 * 敵の体力の配列:int [] enemy, 敵の名前の配列:String [] eName, * 敵の生き残り: int allive, プレイヤーの体力: myHp, * 攻撃選択の入力: int att */ //敵の体力と名前の配列を受け取り、[0]:敵の名前1 [1]:敵の名前2... の用に表示するメソッド //メソッド呼び出し: dispEnemyName(敵の体力を管理する配列, 敵の名前を管理する配列); //メソッド呼び出し例: dispEnemyName(enemy, eName); static void dispEnemyName(int [] hp, String [] name) { if(hp.length != name.length) { System.out.println("エラー!! 2つの配列の要素数が異なります!!"); return; } for (int i = 0; i < hp.length; i++) { System.out.print("[" + i + "]" + name[i] + ":" + hp[i] + " "); } System.out.println(); } //敵の体力の配列を受け取り、生き残りの敵数を返すメソッド //メソッド呼び出し: 生き残りの敵数を管理する変数 = getAlliveEnemyNum(敵の体力を管理する配列); //メソッド呼び出し例: allive = getAlliveEnemyNum(enemy); static int getAlliveEnemyNum(int [] hp) { int alliveNum = 0; for(int i = 0; i < hp.length; i++) { if(hp[i] > 0) { alliveNum += 1; } } return alliveNum; } //敵の体力と名前の配列、攻撃の番号(1~4)を受け取り、攻撃後の敵の体力を返すメソッド //メソッド呼び出し: 敵の体力を管理する配列 = attackPlayer(敵の体力を管理する配列, 敵の名前を管理する配列, 攻撃の番号(1~4)); //メソッド呼び出し: enemy = attackPlayer(enemy, eName, att); static int [] attackPlayer(int [] hp, String [] name, int att) { if(hp.length != name.length) { System.out.println("エラー!! 2つの配列の要素数が異なります!!"); return hp; } if (att < 0 || att > 4) { System.out.println("エラー"); return hp; } else if (att >= 0 && att < 4) { int dummage = (int) (Math.random() * 9) + 1; hp[att] -= dummage; if (hp[att] < 0) { hp[att] = 0; } System.out.println(name[att] + "に" + dummage + "のダメージを与えた!"); } else { for (int i = 0; i < hp.length; i++) { int dummage = (int) (Math.random() * 2) + 1; hp[i] -= dummage; if (hp[i] < 0) { hp[i] = 0; } System.out.println(name[i] + "に" + dummage + "のダメージを与えた!"); } } return hp; } //敵の体力と名前の配列、プレイヤーの体力を受け取り、敵の攻撃後の体力を返すメソッド //メソッド呼び出し: プレイヤーの体力 = attackEnemys(敵の体力を管理する配列, 敵の名前を管理する配列,プレイヤーの体力); //メソッド呼び出し例: myHp = attackEnemys(enemy,eName,myHp); static int attackEnemys(int [] hp, String [] name, int myHp) { if(hp.length != name.length) { System.out.println("エラー!! 2つの配列の要素数が異なります!!"); return myHp; } for (int i = 0; i < hp.length; i++) { if (hp[i] > 0) { int dummage = (int) (Math.random() * 3); System.out.println(name[i] + "の攻撃:" + dummage + "のダメージを受けた."); myHp -= dummage; } } return myHp; } //プレイヤーの体力を受け取り、勝利・敗北のいずれかを表示するメソッド //メソッド呼び出し: dispResult(プレイヤーの体力); //メソッド呼び出し例: dispResult(myHp); static void dispResult(int myHp) { if (myHp > 0) { System.out.println("勝利!"); } else { System.out.println("敗北"); } }
Copy