|
ABCを戦わせてHPがマイナスになったら死ぬプログラムなのですが、これ以降の発想が出てきません。どなたかヒントをくださいませんでしょうか? public class Monster{ public static void main(String[] args){ System.out.println("AとBとCが戦います。"); int maxa = 100; //Aの最大HP int maxb = 100; //Bの最大HP int maxc = 100; //Cの最大HP int x = (int)(Math.random() * 3); //主の乱数 int y = (int)(Math.random() * 3); //対の乱数 int da = (int)(Math.random() * 100); //ダメージの乱数 int suma = 0; //Aの残りHP int sumb = 0; //Bの残りHP int sumc = 0; //Cの残りHP while(suma >= 0 || sumb >= 0 || sumc >= 0){ x = (int)(Math.random() * 3); switch(x){ case 0: System.out.println("Aの攻撃"); y = (int)(Math.random() * 2); if(y == 0){ System.out.println("Bは" + da + "のダメージを受けた。"); sumb = sumb + (maxb - da); System.out.println("Bの生命力は残り" + sumb); maxb = maxb - da; y = (int)(Math.random() * 3); }else{ System.out.println("Cは" + da + "のダメージを受けた。"); sumc = sumc + (maxc - da); System.out.println("Cの生命力は残り" + sumc); maxc = maxc - da; } break; case 1: System.out.println("Bの攻撃"); y = (int)(Math.random() * 3); if(y == 0){ System.out.println("Aは" + da + "のダメージを受けた。"); suma = suma + (maxa - da); System.out.println("Aの生命力は残り" + suma); maxa = maxa - da; y = (int)(Math.random() * 3); }else{ System.out.println("Cは" + da + "のダメージを受けた。"); sumc = sumc + (maxc - da); System.out.println("Cの生命力は残り" + sumc); maxc = maxc - da; } break; case 2: System.out.println("Cの攻撃"); y = (int)(Math.random() * 2); if(y == 0){ System.out.println("Aは" + da + "のダメージを受けた。"); suma = suma + (maxa - da); System.out.println("Aの生命力は残り" + suma); maxa = maxa - da; y = (int)(Math.random() * 3); }else { System.out.println("Bは" + da + "のダメージを受けた。"); sumb = sumb + (maxb - da); System.out.println("Bの生命力は残り" + sumb); maxb = maxb - da; } break; } } } }
|