我是JS的新手,试图建立一个基于在两个玩家之间来回切换一组牌的游戏。
一个是用于在两个玩家之间切换转弯的功能。另一个更改了瓷砖的颜色,使用转向变量来确定切换到哪种颜色。
我认为两者都不起作用。
小提琴:http://jsfiddle.net/f5mEY/3
var currentPlayer;
var playerOne;
var playerTwo;
var turnCounter = 0;
//this function is intended to iterate between the two players when a player completes their turn by hitting submit
$(document).ready(function() {
$('#submit').click(function() {
turnCounter += 1;
if (turnCounter%2 === 0) {
currentPlayer = playerOne;
}
else {
currentPlayer = playerTwo;
}
});
});
//and this should turn the unplayed tiles to the correct player's color when they are clicked
$(document).ready(function() {
$('.unplayedTile').click(function() {
if (currentPlayer === playerOne) {
$(this).toggleClass('unplayedTile playerOneTile');
}
else {
$(this).toggleClass('unplayedTile playerTwoTile');
}
});
});
非常感谢您的任何帮助!
答案 0 :(得分:1)
您需要使用可以比较的内容发起playerOne
和playerTwo
。目前,playerOne
和playerTwo
为undefined
,这使currentPlayer === playerOne
始终为真
答案 1 :(得分:0)
在您的jsFiddle中,变量playerOne
和playerTwo
永远不会分配任何内容,因此它们都是undefined
。如果它们具有相同的值,那么您无法在if
语句中区分它们。
我不确切地知道你打算如何使用这些变量,但是如果你只是为它们分配一些不同的初始值,那么你对谁是当前玩家的比较应该开始工作。
var playerOne = 1;
var playerTwo = 2;
var currentPlayer = playerOne;
P.S。如果您正在尝试实际使用jsFiddle,则必须在左侧面板中选择jQuery lib,以便jQuery可用。
答案 2 :(得分:0)
问题是你没有为播放器常量指定任何值。
var currentPlayer = 1;
var playerOne = 1;
var playerTwo = 2;
var turnCounter = 0;
演示:Fiddle
此处设置初始值,以便currentPlayer成为playerOne
注意:同样在小提琴中没有包含jQuery