Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要帮助做一个井字游戏我不能改变方向_Javascript_Jquery_Html - Fatal编程技术网

Javascript 我需要帮助做一个井字游戏我不能改变方向

Javascript 我需要帮助做一个井字游戏我不能改变方向,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)

我需要帮助在每次回合后交换球员。也就是说,第一次点击是玩家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);
    $("#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您需要检查线性和对角字段/列中的值是否相同。你可以检查进一步的澄清,并包含一个很好的解释与代码我不明白如何实现它在我的代码