weapon
定义一个武器类,武器需要具有武器的名称,武器的伤害值
equipment
定义一个装备类,武器需要含有装备名称,装备的防御值
character
定义一个角色类,角色含有角色名称和角色ID
skill
定义一个技能类,具备法术攻击和物理攻击的功能
hero
定义一个英雄类,英雄含有英雄名称,英雄的角色,英雄的生命值,英雄需要含有武器属性,含有装备属性
需要具备攻击功能, 切换 技能功能 ,具备添加穿戴装备的功能
游戏开始时,某些英雄登场,这些英雄需要穿戴一些装备和武器,
显示某某英雄开始交战,
某某英雄释放了,某些技能,造成了对方多大的伤害,
当某一个英雄的血量低于10% 提醒,血量过低,建议切换技能或者加血动作,
当全场只剩一个英雄的时候,其他英雄全部血量为0的时候,结束```
```java
思路:
1.初始化
业务内容:明确参与战斗的对象数量,以及对象的属性(装备.技能等)
开发内容:
创建人物类
人物类中包含人物的基本信息: 姓名,HP(血),MP(魔法)
人物类中包含装备属性:武器(攻击值),护具(防御值(减伤效果))
人物类中包含技能属性:物理攻击(伤害值),魔法攻击(伤害值)
2.确定行为
明确任何交战,如何释放技能,
如随机释放技能,按照概率释放被动,
如不需要参与者随机战斗
开发内容:
创建一个容器,存放所有要参战的人物队列
3.明确关系
是回合制还是混战,是一对多,还是多对多,还是随机匹配
如回合制,一对多随机匹配
开发内容:
遍历容器
判断容器中的对象的属性值HP,是否 <= 0
如果小于0,则不参与下次属性赋值
从容器中取出一个对象,随机遍历多个对象,按照属性赋值
------------------------------------------------
如果是混战则需要每个对象,按照攻击方式的不同(AOE或者单体伤害),决定随机多少对象来进行赋值
4.明确结束的条件
是小队存活,还是生存数量,还是最后一人
如最后一人存活
开发内容
当容器中仅剩 1个对象的属性值 HP > 0 时,结束循环,打印结果
weapon
定义一个武器类,武器需要具有武器的名称,武器的伤害值
private String weaponName; // 武器的名称
private double injuryValue; // 武器的伤害值
equipment
定义一个装备类,武器需要含有装备名称,装备的防御值
private String equipName;
private double defenceValue;
character
定义一个角色类,角色含有角色名称和角色ID
private String characterName; // 角色名称
private String charID;
skill
定义一个技能类,具备法术攻击和物理攻击的功能
//skill
//定义一个技能类,具备法术攻击和物理攻击的功能
public interface Skill {
void physicsAttack(Hero ... heroes); //物理攻击
void magicAttack(Hero ... heroes); //法术攻击
}
hero
定义一个英雄类,英雄含有英雄名称,英雄的角色,英雄的生命值,英雄需要含有武器属性,含有装备属性
需要具备攻击功能, 切换 技能功能 ,具备添加穿戴装备的功能
package todayHw;
import java.util.Random;
/*
定义一个英雄类,英雄含有英雄名称,英雄的角色,英雄的生命值,
英雄需要含有武器属性,含有装备属性
需要具备攻击功能, 切换 技能功能 ,具备添加穿戴装备的功能
*/
public class Hero extends Character implements Skill {
// 继承自 角色类
// 英雄名称
// 英雄的角色
private double HP; // 血量 HP=health point
private Weapon weapon; // 武器属性
private Equipment equip; // 装备属性
public int addHP() {
int temp = new Random().nextInt(50);
System.out.println("本次加血" + temp + "点");
return temp;
}
/**
* 减去对方英雄的HP
*
* @param heroes
*/
// 实现一下 接口中的 物理攻击 和 法术攻击
@Override
public void physicsAttack(Hero..


1万+

被折叠的 条评论
为什么被折叠?



