简单的回合制小游戏
2018-06-18 02:04:26来源:未知 阅读 ()
设计需求:
(1)怪物的共有的属性有:名称、血量、攻击力、防御力;共有的方法有:显示属性、判定是否死亡、和攻击
(2)设置两种怪物:独眼巨人,树怪,英雄
(3)独眼巨人特有的属性有:武器(狼牙棒或钉锤);独眼巨人具有的攻击方法是:使用武器(狼牙棒或钉锤)攻击
(4)树怪特有的属性:高度;树怪的攻击方式是使用树枝缠绕攻击
(5)英雄攻击方式为王之藐视
(5)创建2只独眼巨人和1只树怪的对象和1名英雄,放入集合中,并轮流攻击集合中的下一个对象(0攻击1,1攻击2,2攻击0),直到只剩下一只怪物存活
(6)伤害值计算公式为:攻击者攻击力-被攻击者防御力,被攻击者的血量会要扣减调伤害值
(7)死亡判定规则为:血量小于等于0
怪兽父类:
public class Monster { public String name; public int hp; public int power; public int defence; 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.print("怪物名称:"+name); System.out.print(" ;血量:"+hp); System.out.print(" ;攻击力:"+power); System.out.print(" ;防御力: "+defence); } public boolean dead(Monster monster) { return hp<=0; } public void attacMode(Monster monster) { int harm = this.power-monster.defence; monster.hp -=harm; System.out.println("进行攻击,对"+monster.name+"造成" +harm+"点伤害"); } }
独眼巨人类:
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) { System.out.print(name+"使用 "+arm+" "); super.attacMode(monster); } public void show() { super.show(); System.out.println(" ;武器:"+arm); } }
树精类:
public class Monser2 extends Monster{ double Height; public Monser2(String name, int hp, int power, int defence,double Height) { super(name, hp, power, defence); this.Height = Height; } public void attacMode(Monster monster) { System.out.print(name+"使用 树枝缠绕 "); } public void show() { super.show(); System.out.println(" ;高度:"+Height); } }
英雄类:
public class Hero extends Monster { public Hero(String name, int hp, int power, int defence) { super(name, hp, power, defence); } public void attacMode(Monster monster) { System.out.print(name+"使用 王之藐视 "); super.attacMode(monster); } }
测试类:
import java.util.ArrayList; import java.util.List; public class Demo { public static void main(String[] args) { List<Monster> list = new ArrayList<Monster>(); list.add(new Monser1("独眼巨人凯特", 50, 10, 5, "咖喱棒")); list.add(new Monser2("树怪盖亚", 75, 8, 6, 2.8)); list.add(new Monser1("独眼巨人卡姆", 50, 11, 4, "狼牙棒")); list.add(new Hero("英雄王子", 500, 20, 5)); for (int i = 0; i < list.size(); i++) { list.get(i).show(); } int i = 0; while(list.size()>1) { Monster attacter = list.get(i); Monster hamer = list.get((i+1)%list.size()); attacter.attacMode(hamer); if(hamer.dead(hamer)){ System.out.println(hamer.name+"被击败"); list.remove(hamer); } i = (i+1)%list.size(); } System.out.println(list.get(0).name+"获得胜利"); list.get(0).show(); } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:java%取模(14号)
下一篇:3分钟搞掂Set集合
- Linux简单命令的学习 2020-06-10
- 因为命名被diss无数次。简单聊聊编程最头疼的事情之一:命名 2020-06-10
- 「starter推荐」简单高效Excel 导出工具 2020-06-08
- Mybaties简单实例测试及注意问题 2020-06-07
- 天哪!手动编写mybatis雏形竟然这么简单 2020-06-06
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash