已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
2天前关闭。
Improve this question
在JavaScript中,有没有什么方法可以阻止一个函数执行一个动作,但仍然得到它的返回值?我想获取游戏板上某个游戏棋子的当前位置。最好的办法是什么?
下面是我的一些代码:
let pieceOne = document.getElementById('piece-one');
let pieceTwo = document.getElementById('piece-two');
let squares = document.getElementsByClassName('board-square');
let currentPosition1 = 0;
let currentPosition2 = 0;
const board = [
'recharge',
'city-garden',
'earthship',
'hydroponics',
'ev-car',
'greenway',
'cycle-path',
'greenspace',
'hydroelectric',
'solar-farm',
'community-work',
'habitat-survey'
];
function movePiece() {
let diceRoll = rollDice();
if (currentPlayer === 'player1') {
currentPosition1 += diceRoll;
if (currentPosition1 >= board.length) {
currentPosition1 -= board.length;
}
let currentSquare = squares[currentPosition1];
currentSquare.appendChild(pieceOne);
currentPlayer = players[1];
} else {
currentPosition2 += diceRoll;
if (currentPosition2 >= board.length) {
currentPosition2 -= board.length;
}
let currentSquare = squares[currentPosition2];
currentSquare.appendChild(pieceTwo);
currentPlayer = players[0];
} if (currentPlayer = players[1]) {
return currentPosition1;
} else {
return currentPosition2;
}
}
我不知道这是否可能,但我想返回的值没有骰子滚动或棋子移动。
1条答案
按热度按时间ghhaqwfi1#
将position定义为一个var,赋予它全局范围。将movePosition()与getPosition()分开。这里的诀窍是使位置全局化。let将在其范围内定义变量。当然,你不需要一个函数来获取位置