坦克大战—day 12

敌人坦克AI:每隔5秒让敌人坦克随机获得一个状态(站立或行走)

public static final int ENEMY_AI_INTERVAL=5000;

敌人发射子弹的AI:游戏的每一帧都随机判断敌人是否发射子弹

public static final double ENEMY_FIRE_PERCENT=0.03;
//记录时间
    private  long aiTime;
    public EnemyTank(int x, int y, int dir) {
        super(x, y, dir);
        //敌人一旦创建开始计时
        aiTime=System.currentTimeMillis();
    }
 private void ai()
    {
        if(System.currentTimeMillis()-aiTime>Constant.ENEMY_AI_INTERVAL)
        {
            //间隔5秒随机一个状态
            setDir(MyUtil.getRandomNumber(0,4));
            setState(MyUtil.getRandomNumber(0,2)==0?STATE_STAND:STATE_MOVE);
            aiTime=System.currentTimeMillis();
        }
        //发射子弹
        if(Math.random()<Constant.ENEMY_FIRE_PERCENT)
        {
            fire();
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值