Javascript 我需要帮助做一个井字游戏我不能改变方向
我需要帮助在每次回合后交换球员。也就是说,第一次点击是玩家1(X),然后第二次点击成为玩家2(0)。现在每次点击都会放置一个XJavascript 我需要帮助做一个井字游戏我不能改变方向,javascript,jquery,html,Javascript,Jquery,Html,我需要帮助在每次回合后交换球员。也就是说,第一次点击是玩家1(X),然后第二次点击成为玩家2(0)。现在每次点击都会放置一个X const player1 = 'X' const player2 = 'O' CurrentPlayer = 1 if(CurrentPlayer == 1) { $("document").ready (function(){ $(".grid-item").click (function(){ $(this).html(player1)
const player1 = 'X'
const player2 = 'O'
CurrentPlayer = 1
if(CurrentPlayer == 1) {
$("document").ready (function(){
$(".grid-item").click (function(){
$(this).html(player1);
$("#player").html("2")
CurrentPlayer = 2
})
});
}
if ( CurrentPlayer == 2) {
$("document").ready (function(){
$(".grid-item").click (function(){
$(this).html(player2);
$("#player").html("3")
})
});
}
您的代码中有太多错误。首先,
$("document").ready (function(){
});
应该针对文件而不是每次单击,另一个问题是事件
$(".grid-item").click (function(){
//
});
应该是init
仅一次,在该事件中,我们只需要检查玩家状态
您的代码应该是这样的
$("document").ready (function(){
const player1 = 'X'
const player2 = 'O'
var CurrentPlayer = 1
$(".grid-item").click (function(){
if(CurrentPlayer == 1) {
//do your stuff for player 1
CurrentPlayer = 2
}
else if(CurrentPlayer == 2) {
//do your stuff for player2
CurrentPlayer = 1
}
});
});
你的代码中有很多错误。首先,
$("document").ready (function(){
});
应该针对文件而不是每次单击,另一个问题是事件
$(".grid-item").click (function(){
//
});
应该是init
仅一次,在该事件中,我们只需要检查玩家状态
您的代码应该是这样的
$("document").ready (function(){
const player1 = 'X'
const player2 = 'O'
var CurrentPlayer = 1
$(".grid-item").click (function(){
if(CurrentPlayer == 1) {
//do your stuff for player 1
CurrentPlayer = 2
}
else if(CurrentPlayer == 2) {
//do your stuff for player2
CurrentPlayer = 1
}
});
});
您附加了两次
ready
函数,这取决于使用1初始化的CurrentPlayer
的当前值,因此您的player-2方法永远不会附加
你可以试试下面的方法
const player1 = 'X';
const player2 = 'O';
let CurrentPlayer = 1;
$("document").ready(function () {
$(".grid-item").click(function () {
if (CurrentPlayer === 1) {
// put X for palyer-1
$(this).html(player1);
$("#player").html("2");
// finally toggle CurrentPlayer
CurrentPlayer = 2;
} else {
// put O for palyer-2
$(this).html(player2);
$("#player").html("3");
// finally toggle CurrentPlayer
CurrentPlayer = 1;
}
})
});
您附加了两次
ready
函数,这取决于使用1初始化的CurrentPlayer
的当前值,因此您的player-2方法永远不会附加
你可以试试下面的方法
const player1 = 'X';
const player2 = 'O';
let CurrentPlayer = 1;
$("document").ready(function () {
$(".grid-item").click(function () {
if (CurrentPlayer === 1) {
// put X for palyer-1
$(this).html(player1);
$("#player").html("2");
// finally toggle CurrentPlayer
CurrentPlayer = 2;
} else {
// put O for palyer-2
$(this).html(player2);
$("#player").html("3");
// finally toggle CurrentPlayer
CurrentPlayer = 1;
}
})
});
谢谢,我试试看。。sry我刚开始编写3周前的问题,如果你觉得我的解决方案有效,请接受答案。你现在能给我一些关于如何继续游戏的帮助吗。。如何检查获胜状态等。。请开始一个新问题,询问您的疑问,我们将帮助您解决。如何检查grid1、grid2和grid3在JavaScript中是否具有相同的值谢谢,我会尝试一下。。sry我刚开始编写3周前的问题,如果你觉得我的解决方案有效,请接受答案。你现在能给我一些关于如何继续游戏的帮助吗。。如何检查获胜状态等。。请开始一个新问题,询问您的疑问,我们将帮助您解决。如何检查grid1 grid2和grid3在javascriptHi中是否具有相同的值,您能否告诉我现在如何检查win条件。我不知道该怎么做start@IrfanGolaup您需要检查线性和对角字段/列中的值是否相同。你可以检查进一步的澄清,并包含一个很好的解释与代码我不明白如何实现它在我的代码嗨,你能告诉我如何检查我现在赢的条件。我不知道该怎么做start@IrfanGolaup您需要检查线性和对角字段/列中的值是否相同。你可以检查进一步的澄清,并包含一个很好的解释与代码我不明白如何实现它在我的代码