Javascript 如何在我的TIC-TAC-TOE中随机选择一个单元格

Javascript 如何在我的TIC-TAC-TOE中随机选择一个单元格,javascript,jquery,Javascript,Jquery,我是新的编程,以堆栈溢出,所以对我容易。我正在做一个tic-tac-toe游戏,还没有找到一个标记一个随机的_单元,并附加和图像到它,所以如果你能帮助它将是最有帮助的。jquery也很受欢迎 var x_或o=[“x”,“o”]; var user=x_或_o[Math.floor(Math.random()*x_或_o.length)]; 函数随机_单元(){ 变量单元格=[“零”、“一”、“二”]; 返回(“#”+单元格[Math.floor(Math.random()*cells.len

我是新的编程,以堆栈溢出,所以对我容易。我正在做一个tic-tac-toe游戏,还没有找到一个标记一个随机的_单元,并附加和图像到它,所以如果你能帮助它将是最有帮助的。jquery也很受欢迎

var x_或o=[“x”,“o”]; var user=x_或_o[Math.floor(Math.random()*x_或_o.length)]; 函数随机_单元(){ 变量单元格=[“零”、“一”、“二”]; 返回(“#”+单元格[Math.floor(Math.random()*cells.length)]+“#”+单元格[Math.floor(Math.random()*cells.length)]; } 功能锁定(id_ele){ $(id_ele).1((“点击”,水(id_ele)); } 功能水(id_ele){ $(id_ele)。单击(函数(){ 如果(用户==“x”){ $(id_ele).append(“”.addClass(“done-x”); if(!random_cell.hasClass()){ $(随机单元)。追加(“”); } 否则{ 随机_单元(); 水(id_ele); } } else if(用户==“o”){ $(id_ele).append(“”.addClass(“done-o”); } } ) } 叮当声(“零”); 叮当声(“零一”)

井字过三关
抽搐
&抄袭;库纳尔·梅塔2016


您的随机单元函数执行以下操作:

return ("onecell");
这是错误的语法。做:

return "onecell";
下一个错误是:

$(random_cell).append(...);
随机单元不是一个变量!!!这是一种功能。做:

$( random_cell() ).append(...);
错误3: clink函数添加一个eventlistener,后者添加一个eventlistener。所以你必须点击它两次才能让它工作

错误4

<img src=img.jpg >

那是错误的。做:

<img src='img.jpg'>

您的随机单元函数执行以下操作:

return ("onecell");
这是错误的语法。做:

return "onecell";
下一个错误是:

$(random_cell).append(...);
随机单元不是一个变量!!!这是一种功能。做:

$( random_cell() ).append(...);
错误3: clink函数添加一个eventlistener,后者添加一个eventlistener。所以你必须点击它两次才能让它工作

错误4

<img src=img.jpg >

那是错误的。做:

<img src='img.jpg'>

您可以简单地使用
Math.random()
创建数字,然后为您的
ID
构建一个小翻译,就像您所做的那样。但是请注意,您当前的
id
没有任何意义。他们不一致。我对它们做了一些修改,以使其有用

另外请注意,
random_cell
中的数组称为
cells
,但在随机创建中使用的是
cell
。这也行不通

函数随机单元(){
变量单元格=[“零”、“一”、“二”];
var-length=cells.length;
return(“#”+单元格[Math.floor(Math.random()*length)]+
“u”+单元格[Math.floor(Math.random()*length)];
}
setInterval(函数(){
var id=随机_单元();
$(“td”).removeClass(“突出显示”);
$(id).addClass(“突出显示”)
}, 500);
。突出显示{
背景:红色;
}

1.
2.
3.
4.
5.
6.
7.
8.
9

您可以简单地使用
Math.random()
创建数字,然后为您的
ID
构建一个小翻译,就像您所做的那样。但是请注意,您当前的
id
没有任何意义。他们不一致。我对它们做了一些修改,以使其有用

另外请注意,
random_cell
中的数组称为
cells
,但在随机创建中使用的是
cell
。这也行不通

函数随机单元(){
变量单元格=[“零”、“一”、“二”];
var-length=cells.length;
return(“#”+单元格[Math.floor(Math.random()*length)]+
“u”+单元格[Math.floor(Math.random()*length)];
}
setInterval(函数(){
var id=随机_单元();
$(“td”).removeClass(“突出显示”);
$(id).addClass(“突出显示”)
}, 500);
。突出显示{
背景:红色;
}

1.
2.
3.
4.
5.
6.
7.
8.
9

Its$(id)。在(“单击”、..)上,而不是$(id)。one@Jonasw如果他们只想将一次单击事件绑定到它,可以使用
one
,我想这在tic-tac-toe中是正确的,因为您只能填充该框once@Pete:哦,是的,对不起,从没听说过。总是用“开”,但是。一((“点击”,函数))无论如何都是错误的,不是吗?还有单元格!=单元格(键入)的$(id)。在(“单击”、..)上,而不是$(id)。one@Jonasw如果他们只想将一次单击事件绑定到它,可以使用
one
,我想这在tic-tac-toe中是正确的,因为您只能填充该框once@Pete:哦,是的,对不起,从没听说过。总是用“开”,但是。一((“点击”,函数))无论如何都是错误的,不是吗?还有单元格!=是的,但是有了他的身份证,他永远不会得到一个随机的手机。你的观点前后矛盾@JonaswYes,但凭他的身份证,他永远不会得到一个随机的手机。你的观点前后矛盾@乔纳斯