1>创建一个Hero类特征name(英雄名字),hp(血量),mp(魔法值), physicsAttack(物理攻击力),magicAttack(魔法攻击力)
2>创建一个BattleControl战斗管理类,该类有两个字段分别为List ours(存储己方阵营中五个英雄)和List enemy(存储对方五个英雄)类型,分别创建五个英雄和五个敌人分别添加到对应List泛型列表中。添加int类型字段round 记录战斗开始到结束总的回合数。注:英雄名字自定义,血量200 魔法值100 攻击力自定义。
3>模拟回合制游戏逻辑,初始化完毕后首先己方攻击,每次攻击随机从对方阵营筛选一个敌人进行攻击,
a)每次造成的伤害为物理攻击和魔法攻击的叠加值,如果没有魔法值那么伤害值只是物理攻击力即可。
b)每次魔法攻击之后需要减去相应的魔法值,比如魔法攻击力为20,那么魔法值也需要消耗20个点。
c)攻击的同时输出信息格式:小一攻击了小二,小二剩余血量为80。
d)己方所有英雄攻击完毕之后,敌人攻击,攻击流程同上。
4>当某一个敌人或者己方英雄死亡后将死亡角色从对应List泛型列表中移除,某一个阵营全部死亡,游戏结束,开始结算,显示获胜方。显示总的回合数。
代码如下:
class Hero{
//英雄类
private string name; //英雄名字
private int hp; //血量
private int mp; //魔法值
private int physicsAttack; //物理攻击力
private int magicAttack; //魔法攻击力
public Hero(string name,int hp,int mp,int pA,int mA){
this.name=name;this.hp=hp;this.mp=mp;this.physicsAttack=pA;this.magicAttack=mA;
}
//set and get method:
public void setName(string name){
this.name = name;
}
public string getName(){
return this.name;
}
public void setHp(int hp){
this.hp = hp;
}
public int getHp(){
return this.hp;
}
public void setMp(int mp){
this.mp = mp;
}
public int getMp(){
return this.mp;
}
public void setPa(int pa){
this.physicsAttack = pa;
}
public int getPa(){
return this.physicsAttack;
}
public void setMa(int ma){
this.magicAttack = ma;
}
public int getMa(){
return this.magicAttack;
}
//judge hero whether liveing
public bool isLive(){
if(this.hp <= 0){
return false;
}
return true;
}
}
class BattleControl{
//战斗管理类
private List<Hero> ours; //存储己方阵营中五个英雄
private List<Hero> enemy; //(存储对方五个英雄)类型
public BattleControl(){
thi