Java 吃豆人游戏:如何让货币跟随玩家?
事实上,我是java的初学者,我试图创建一个货币玩家,让它找到到玩家的最短路径,但不幸的是,货币玩家的移动方式很快(玩家每走一步,货币玩家都跟着他,货币玩家突然跳起来),所以这里的主要问题是:Java 吃豆人游戏:如何让货币跟随玩家?,java,Java,事实上,我是java的初学者,我试图创建一个货币玩家,让它找到到玩家的最短路径,但不幸的是,货币玩家的移动方式很快(玩家每走一步,货币玩家都跟着他,货币玩家突然跳起来),所以这里的主要问题是: 在每个角落里,钱贩子都会跳到玩家的前面 货币玩家一步一步地移动(当我松开按钮时,它停止),我需要它继续跟随玩家 我创建了这些与问题相关的类: -游戏类(缩写为grid、wall、monester、food) -Square类是每个网格的组件 -ghost类需要在收缩器中有一个称为current的正方形,然
ghost.add(new Ghost(grid.get(2).get(2))); // just for expermental purposes
public ArrayList findNieghbours(){
ArrayList nieghbours=新的ArrayList();
int currentX=current.getX();
int currentY=current.getY();
if(currentX0&!grid.get(currentY/30).get(currentX/30-1).isWall()){
nieghbours.add(grid.get(currentX/30-1).get(currentY/30));
}
if(currentY0&!grid.get(currentY/30-1).get(currentX/30).isWall()){
nieghbours.add(grid.get(currentX/30).get(currentY/30-1));
}
返回尼堡;
}
public void Chase(方形chasedSquare){
ArrayList nieghbours=findNieghbours();
Square lower=nieghbours.get(0);//尝试捕捉??
用于(方形:尼格尔布尔){
如果(Math.sqrt((square.getX()-chasedSquare.getX())^2+(square.getX()-chasedSquare.getX())^2)我相信问题出在您的Chase
方法中。^运算符不是幂运算符。您应该使用Math.pow方法,或者将值本身相乘:
Math.pow(square.getX()-chasedSquare.getX(),2)
或
(square.getX()-chasedSquare.getX())*(square.getX()-chasedSquare.getX())
我相信问题出在你的Chase
方法中。^运算符不是幂运算符。你应该使用Math.pow方法,或者将值本身相乘:
Math.pow(square.getX()-chasedSquare.getX(),2)
或
(square.getX()-chasedSquare.getX())*(square.getX()-chasedSquare.getX())
问题似乎出在Chase
函数中。^
是Java中的逐位异或运算符(请参阅)。您可以使用Math.pow()
方法获取值的平方:
double x = 2.0
double xSq = Math.pow(x, 2)
查看更多详细信息。问题似乎出在Chase
函数中。^
是Java中的逐位异或运算符(请参阅)。您可以使用Math.pow()
方法获取值的平方:
double x = 2.0
double xSq = Math.pow(x, 2)
查看更多详细信息
double x = 2.0
double xSq = Math.pow(x, 2)