敌人坦克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();
}
}
}