gpt4 book ai didi

java - Java中敌人追赶玩家的二维数组

转载 作者:行者123 更新时间:2023-12-01 16:55:02 25 4
gpt4 key购买 nike

所以,伙计们,我正在创建一个游戏,在特定的场景中,我有一个敌人和一个在 10x10 阵列上随机生成的玩家,然后敌人必须向玩家移动,直到它们位于相邻的单元格上。玩家由用户控制,敌人必须朝他的方向移动才能捕获他。我已经开始并进行了阵列边缘检查以及敌人可以移动的位置,但我不知道如何进行追逐。你能帮我吗?

public void enemyMovement()
{
if(enemyAlive) {
if( enemy.getCurrentLine() == 0 ) {
if( enemy.getCurrentColumn() == 0 ) {
// only moves to right and down
}
else if( enemy.getCurrentColumn() == 9 ) {
// only moves to left and down
}
else {
// moves to the sides or down
}
}
else if( enemy.getCurrentLine() == 9 ) {
if( enemy.getCurrentColumn() == 0 ) {
// only moves up or right
}
else if( enemy.getCurrentColumn() == 9 ) {
// only moves up or left
}
else {
// only moves to the sides and up
}
}
else if ( enemy.getCurrentColumn() == 0 ) {
if( enemy.getCurrentLine() != 0 && enemy.getCurrentLine() != 9) {
// can go anywhere excepts left
}
}
else if( enemy.getCurrentColumn() == 9 ) {
if( enemy.getCurrentLine() != 0 && enemy.getCurrentLine() != 9) {
// can go anywhere excepts right
}
}
else {
// can goes anywhere
}
}
}

最佳答案

检查敌人和玩家之间的距离,并沿着距离较长的轴移动。例如,如果敌人的坐标是(1,2),玩家在(9,5),那么他们之间的距离是(8,3),所以敌人应该沿着x轴移动到(2, 2)。如果它们之间的距离类似于 (5,5),那么您可以选择 x/y 轴优先级或只是随机选择一个轴。

关于java - Java中敌人追赶玩家的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61603729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com