C#大作业——回合制游戏模拟

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值