我正在写一个简单的纸牌游戏,但出于某种原因,下面的代码表现得非常奇怪......首先使用theTurn(0)
来调用转弯函数
players
是一个具有玩家姓名和手牌等的对象数组。
function theTurn(playerNumber) {
if(play == 1) {
$('#player').text(players[playerNumber].Name);
$('#submit').click(function() {
nextPlayer(playerNumber);
})
}
}
function nextPlayer(playerNumber) {
if(playerNumber == players.length - 1) {
theTurn(0);
} else {
theTurn(playerNumber + 1);
}
}
出于某种原因,我得到了0,然后是1,然后是1,然后是0。
我遗漏了一些东西......但这是它的要点,问题也出现在这个简化版本中。
非常感谢任何有关我错误逻辑的帮助。
答案 0 :(得分:1)
这实际上更有意义......只需添加一次点击处理程序,然后将玩家编号设置为数据属性,以便nextPlayer
函数知道没有参数的情况。
$('#player').data('activePlayer', 0);
$('#submit').click(function() {
nextPlayer();
});
function theTurn(playerNumber) {
if(play == 1) {
$('#player').text(players[playerNumber].Name);
$('#player').data('activePlayer', playerNumber);
}
}
function nextPlayer() {
var playerNumber = $('#player').data('activePlayer');
if(playerNumber == players.length - 1) {
theTurn(0);
} else {
theTurn(playerNumber + 1);
}
}