简单的回合制小游戏https://blog.csdn.net/shunqixing/article/details/79765039

设计需求:

(1)怪物的共有的属性有:名称、血量、攻击力、防御力;共有的方法有:显示属性、判定是否死亡、和攻击

(2)设置两种怪物:独眼巨人,树怪

(3)独眼巨人特有的属性有:武器(狼牙棒或钉锤);独眼巨人具有的攻击方法是:使用武器(狼牙棒或钉锤)攻击

(4)树怪特有的属性:高度;树怪的攻击方式是使用树枝缠绕攻击

(5)创建2只独眼巨人和1只树怪的对象,放入集合中,并轮流攻击集合中的下一个对象(0攻击1,1攻击2,2攻击0),直到只剩下一只怪物存活

(6)伤害值计算公式为:攻击者攻击力-被攻击者防御力,被攻击者的血量会要扣减调伤害值

(7)死亡判定规则为:血量小于等于0

怪兽父类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Monster {
    public String name;
    public int hp;
    public int power;
    public int defence;
    public boolean live = true;
    public Monster(String name, int hp, int power, int defence) {
        super();
        this.name = name;
        this.hp = hp;
        this.power = power;
        this.defence = defence;
    }
    public void show() {
        System.out.println("怪物名称:"+name);
        System.out.println("血量:"+hp);
        System.out.println("攻击力:"+power);
        System.out.println("防御力:"+defence);
    }
    public void attacMode(Monster monster) {
         
    }
}

 独眼巨人类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Monser1 extends Monster{
    String arm;
     
    public Monser1(String name, int hp, int power, int defence,String arm) {
        super(name, hp, power, defence);
        this.arm = arm;
    }
     
    public void attacMode(Monster monster) {
        monster.hp  = monster.hp - (this.power-monster.defence);
        if(monster.hp>0) {
            System.out.println(this.name+"使用"+this.arm+"进行攻击,对"+monster.name+"造成"
                    +(this.power-monster.defence)+"点伤害");
        }
        else {
            monster.hp = 0;
            System.out.println(monster.name+"死亡");
            monster.live = false;
        }
    }
    public void show() {
        System.out.print("怪物名称:"+name);
        System.out.print("  血量:"+hp);
        System.out.print("  攻击力:"+power);
        System.out.print("  防御力:"+defence);
        System.out.println("  武器:"+arm);
    }
}

树精类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class Monser2 extends Monster{
 
    String Height;
    public Monser2(String name, int hp, int power, int defence,String Height) {
        super(name, hp, power, defence);
        this.Height = Height;
    }
     
    public void attacMode(Monster monster) {
        monster.hp  = monster.hp - (this.power-monster.defence);
        if(monster.hp>0) {
            System.out.println(this.name+"使用树枝缠绕进行攻击,对"+monster.name+"造成"
                    +(this.power-monster.defence)+"点伤害");
        }
        else {
            monster.hp = 0;
            System.out.println(monster.name+"死亡");
            monster.live = false;
        }
    }
     
    public void show() {
        System.out.print("怪物名称:"+name);
        System.out.print("  血量:"+hp);
        System.out.print("  攻击力:"+power);
        System.out.print("  防御力:"+defence);
        System.out.println("  高度:"+Height);
    }
 
}

测试类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.ArrayList;
import java.util.List;
 
public class Demo {
 
    public static void main(String[] args) {
        Monser1 kt = new Monser1("独眼巨人凯特",100,25,10,"钉锤");
        Monser1 km = new Monser1("独眼巨人卡姆",100,30,7,"狼牙棒");
        Monser2 gy = new Monser2("树怪盖亚",80,35,12,"10.5");
        List<Monster> list = new ArrayList<Monster>();
        list.add(kt);
        list.add(km);
        list.add(gy);
        for(int i=0;i<list.size();i++) {
            list.get(i).show();
        }
        int size = 0;
        while(true) {
            if(list.size()==1) {
                System.out.println(list.get(0).name+"获得胜利");
                break;
            }
            if(size<list.size()) {
                list.get(size).attacMode(list.get(size+1));
                if(list.get(size+1).hp==0)
                    list.remove(size+1);
                size++;
            }
            if(size==list.size()-1) {
                list.get(size).attacMode(list.get(0));
                if(list.get(0).hp==0)
                    list.remove(0);
                size = 0;
            }
        }
    }
}
http://www.trm9066.cn/
http://www.wrq6652.cn/
http://www.oph4016.cn/
http://www.eis6490.cn/
http://www.xfq2422.cn/
http://www.tlj5370.cn/
http://www.pqi7094.cn/
http://www.wky2337.cn/
http://www.veo5593.cn/
http://www.lpn9733.cn/
http://www.hxp7546.cn/
http://www.uht8250.cn/
http://www.erg7887.cn/
http://www.zrg4662.cn/
http://www.gmw7502.cn/
http://www.omk7549.cn/
http://www.cck2829.cn/
http://www.ujn9355.cn/
http://www.mgj9519.cn/
http://www.rig2765.cn/
http://www.irw9322.cn/
http://www.psd6888.cn/
http://www.pnl2718.cn/
http://www.com0678.cn/
http://www.oku7898.cn/
http://www.tas9765.cn/
http://www.vgz0064.cn/
http://www.nld6227.cn/
http://www.hco5930.cn/
http://www.oqs1669.cn/
http://www.nny5237.cn/
http://www.tyc6381.cn/
http://www.qmi0117.cn/
http://www.ylz8420.cn/
http://www.vha4867.cn/
http://www.frm7103.cn/
http://www.alo1362.cn/
http://www.phv0172.cn/
http://www.ppb5307.cn/
http://www.nzx0496.cn/
http://www.kwb7023.cn/
http://www.jyr2443.cn/
http://www.dbz8514.cn/
http://www.cok3166.cn/
http://www.rws5532.cn/
http://www.buw8082.cn/
http://www.hce3357.cn/
http://www.pjv6550.cn/
http://www.wlc0063.cn/
http://www.pqp2736.cn/
http://www.apv1822.cn/
http://www.tqr5934.cn/
http://www.goa7029.cn/
http://www.ldt5599.cn/
http://www.kcs8048.cn/
http://www.xyj1895.cn/
http://www.jbk1285.cn/
http://www.oka9409.cn/
阅读更多
上一篇【基础】在css中绘制三角形及相关应用https://blog.csdn.net/quxing10086/article/details/79946236
下一篇深入理解MVC
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭