gpt4 book ai didi

Java大富翁游戏

转载 作者:行者123 更新时间:2023-11-30 08:16:45 25 4
gpt4 key购买 nike

我制作了一个面板,并将面板的布局设置为空。因此,我通过逐像素移动 token 来定位它们。但转弯时我遇到了麻烦。在第一个 10 个位置后, token 可以进行转弯并继续下一个 10 个位置。但我的代币不可能转2。
任何人都可以建议我更好的代码来解决这个问题。我认为我让事情变得比实际情况更复杂。

            if(g.getPosx() <= 650 && g.getPosx() >= 50 && g.getPosy()==650) {
if(g.getPosx()-unitChange*d.getDice() <= 50) {
temp = unitChange*d.getDice() - (g.getPosx() - 50);
g.setPosx(50);
g.setPosy(g.getPosy()-temp);
}
else {
g.setPosx(g.getPosx()-unitChange*d.getDice());
temp = 0;
}
}
else if(g.getPosy() <= 650 && g.getPosy() >= 50 && g.getPosx()==650) {
if(g.getPosy()-unitChange*d.getDice() <= 50) {
temp = unitChange*d.getDice() - (g.getPosy() - 50);
g.setPosy(50);
g.setPosx(g.getPosx()-temp);
}
else {
g.setPosy(g.getPosy()-unitChange*d.getDice());
temp = 0;
}
}
else if(g.getPosx() <= 650 && g.getPosx() >= 50 && g.getPosy()==50) {
if(g.getPosx()-unitChange*d.getDice() <= 50) {
temp = unitChange*d.getDice() - (g.getPosx() - 50);
g.setPosx(50);
g.setPosy(g.getPosy()-temp);
}
else {
g.setPosx(g.getPosx()-unitChange*d.getDice());
temp = 0;
}
}
else if(g.getPosy() <= 650 && g.getPosy() >= 50 && g.getPosx()==50) {
if(g.getPosy()-unitChange*d.getDice() <= 50) {
temp = unitChange*d.getDice() - (g.getPosy() - 50);
g.setPosy(50);
g.setPosx(g.getPosx()-temp);
}
else {
g.setPosy(g.getPosy()-unitChange*d.getDice());
temp = 0;
}
}

最佳答案

不要使用当前的 X 和 Y 位置来跟踪棋子停止的位置,而是尝试跟踪棋子降落的属性。因此,属性 1 将是 GO 一直到位置 39 处的木板路后板上的第一站。然后您可以拥有类似

的功能
movePlayerToLocation(Player player, int location){

// calculate your x and y based on the property locatoin

if(locatoin < 11){
// on first edge
} else if (location < 21) {
// on second edge
} else if (location < 31)
// on third edge
} else {
// on fourth edge of the board
}

// do your g.setPos-ing
}

关于Java大富翁游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29546513/

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