Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(ABCを戦わせるプログラム)
閲覧数:649
掲示板(ABCを戦わせるプログラム)
名前
匿名
題名 ABCを戦わせるプログラム
質問内容

質問を評価する
(0ポイント)
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;
            }
        }
    }
}
質問日時 2012-12-02 03:37:14
名前
匿名
回答内容

回答を評価する
(0ポイント)
一体何をするための発想が出てこないっていうの?
何したいのか分からなければ、誰もヒントなんか出せないよ。
回答日時 2012-12-02 11:25:16
名前
匿名
回答内容

回答を評価する
(0ポイント)
戦いを膨らませたいの?
だったら、回復とか魔法で大ダメージとか?

ランダムで進むのがいやなら、入力でパターンが変わるとか?

死んだら画像が表示されるとか?
回答日時 2012-12-03 11:59:53

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道