我正在建造一艘战列舰模拟器,在这种模拟器中,您可以驾驶战舰完成某个目标,同时抵御敌舰。所说的敌舰应该有一种原始人工智能的形式,可以让它跟踪你的船的位置,并试图射击它。
我遇到的问题是,我不能完全确定如何根据位置为一组敌舰编码来磨练玩家的船。我已多次尝试让敌舰移动,但无济于事。
附件是我最近对敌舰运动的编码尝试(mvi_PBattleship用于玩家船,mvi_EBattleship用于敌舰):
var EMoveTimer:Timer = new Timer(10);
EMoveTimer.addEventListener("timer", EMove);
function EMove(eventArgs:TimerEvent):void{
EMoveTimer.start();
if(((mvi_EBattleship.x + 31.7) < mvi_PBattleship.x) && (mvi_EBattleship.x < mvi_PBattleship.x) && ((mvi_EBattleship.y + 195.8) < mvi_PBattleship.y) && (mvi_EBattleship.y < mvi_PBattleship.y)){
mvi_EBattleship.x += 1;
mvi_EBattleship.y += 1;
}
else if(((mvi_EBattleship.x + 31.7) < mvi_PBattleship.x) && (mvi_EBattleship.x < mvi_PBattleship.x) && (mvi_EBattleship.y > (mvi_PBattleship.y + 195.8)) && ((mvi_EBattleship + 195.8) > (mvi_PBattleship.y + 195.8))){
mvi_EBattleship.x += 1;
mvi_EBattleship.y -= 1;
}
else if((mvi_EBattleship.x > (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.x + 31.7) > (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.y + 195.8) < mvi_PBattleship.y) && (mvi_EBattleship.y < mvi_PBattleship.y)){
mvi_EBattleship.x -= 1;
mvi_EBattleship.y += 1;
}
else if((mvi_EBattleship.x > (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.x + 31.7) > (mvi_PBattleship.x + 31.7)) && (mvi_EBattleship.y > (mvi_PBattleship.y + 195.8)) && ((mvi_EBattleship + 195.8) > (mvi_PBattleship.y + 195.8))){
mvi_EBattleship.x -= 1;
mvi_EBattleship.y -= 1;
}
else if((mvi_EBattleship.x > mvi_PBattleship.x) && ((mvi_EBattleship.x + 31.7) < (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.y + 195.8) < mvi_PBattleship.y) && (mvi_EBattleship.y < mvi_PBattleship.y)){
mvi_EBattleship.y += 1;
}
else if((mvi_EBattleship.x > mvi_PBattleship.x) && ((mvi_EBattleship.x + 31.7) < (mvi_PBattleship.x + 31.7)) && (mvi_EBattleship.y > (mvi_PBattleship.y + 195.8)) && ((mvi_EBattleship.y + 195.8) > (mvi_PBattleship.y + 195.8))){
mvi_EBattleship.y -= 1;
}
else if((mvi_EBattleship.y > mvi_PBattleship.y) && ((mvi_EBattleship.y + 195.8) < (mvi_PBattleship.y + 195.8)) && ((mvi_EBattleship.x + 31.7) < mvi_PBattleship.x) && (mvi_EBattleship.x < mvi_PBattleship.x)){
mvi_EBattleship.x += 1;
}
else if((mvi_EBattleship.y > mvi_PBattleship.y) && ((mvi_EBattleship.y + 195.8) < (mvi_PBattleship.y + 195.8)) && (mvi_EBattleship.x > (mvi_PBattleship.x + 31.7)) && ((mvi_EBattleship.x + 31.7) > (mvi_PBattleship.x + 31.7))){
mvi_EBattleship.x += 1;
}
}
所以,我的主要问题是:
1)我应该使用什么代码来确保敌人能够追踪玩家?
2)我如何向玩家发射敌人的子弹?
3)有没有办法跟踪两艘敌舰之间的碰撞?
实际代码将非常需要和赞赏,因为该项目预计明天即将完成。非常感谢你的帮助。
答案 0 :(得分:0)