如何判断一名球员是否在tic tac toe中胜出

时间:2016-11-15 23:33:50

标签: javascript

<!DOCTYPE html>
<html>
<head>
<link href="tictactoe.css" type="text/css" rel="stylesheet" >
<meta charset= "utf-8">
<title>Tic Tac Toe</title>
</head>
<body>

<h1>Tic Tac Toe</h1>
<form>
Current Player <p id="currentplayer">X</p>
<table id= "game" border="1">
<tr>
<td type = "button" onclick = "set('box1');" id = "box1" ></button></td>
<td type = "button" onclick = "set('box2');" id = "box2" ></button></td>
<td type = "button" onclick = "set('box3');" id = "box3" ></button></td> 
</tr>
<tr>
<td type = "button" onclick = "set('box4');" id = "box4" ></button></td>
<td type = "button" onclick = "set('box5');" id = "box5" ></button></td>
<td type = "button" onclick = "set('box6');" id = "box6" ></button></td> 
</tr>
<tr>
<td type = "button" onclick = "set('box7');" id = "box7" ></button></td>
<td type = "button" onclick = "set('box8');" id = "box8" ></button></td>
<td type = "button" onclick = "set('box9');" id = "box9" ></button></td> 
</tr>
</table>

<button id = "restart">New Game </button>
</form>

<script src= "tictactoe.js" type = "text/Javascript"></script>
</body>
</html>

这是我的HTML代码。

h1 {
font-family: "Courier New";
}
body {
text-align: center;
background-color: #FFB6C1;
}

table {
height: 300px;
width: 300px;
margin: auto;

}

button {
height: 100px;
width: 100px;
}
#box1 {
height: 100px;
width: 100px;
}

#box2 {
height: 100px;
width: 100px;
}
#box3 {
height: 100px;
width: 100px;
}
#box4 {
height: 100px;
width: 100px;
}
#box5 {
height: 100px;
width: 100px;
}
#box6 {
height: 100px;
width: 100px;
}
#box7 {
height: 100px;
width: 100px;
}
#box8 {
height: 100px;
width: 100px;
}
#box9 {
height: 100px;
width: 100px;
}

这是我的tic tac toe游戏的CSS。

function changeplayer()
{
var player = document.getElementById("currentplayer").innerHTML;
if(player == "X")
{
    document.getElementById("currentplayer").innerHTML = "O";
}
else{
    document.getElementById("currentplayer").innerHTML = "X";
}

}

function set(idvalue)
{
var buttonclicked = document.getElementById(idvalue);
if(buttonclicked.innerHTML == "" || buttonclicked.innerHTML == null)
{
    var player = document.getElementById("currentplayer").innerHTML; 
    buttonclicked.innerHTML = player;
}
changeplayer();

}

这是我的tic tac toe游戏的JS。问题是我不知道如果他们赢了或不赢通知玩家。到目前为止,在董事会上,两个人可以轮流,这就是全部。如何在Javascript中添加代码以显示&#34; X&#34;或者&#34; O&#34;赢了? 另外,我想知道我的代码到目前为止是否正确。所有建议将不胜感激!

1 个答案:

答案 0 :(得分:2)

要知道哪个玩家赢了,你需要知道是否有人连续三个“X”或“O”。您可以通过在代码中添加更多逻辑或从UI中获取CSS值/状态来实现。

建议在代码中加入更多逻辑。你可以通过例如在您的javascript代码中添加多维数组。在那里,您正在构建3x3 UI,其中包含3行,每行3个条目。

var gameBoard = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

但是,不是从1到9的数字,而是存储哪个玩家将他/她的“盒子”放到该位置。您可以在set()函数中执行此操作,如您所知,哪个玩家选择了哪个框。 在每次调用set()函数之后,迭代遍历该数组并查明某人是否有三个“行或列中的框”

除此之外,如果你看看你的CSS,你正在使用CSS ID而不是类。一个类可以定义一次,用于任何“盒子”,而不是写相同的定义9次。

在您考虑代码质量之前,我建议您“以某种方式”使其工作,然后尝试逐步改进它。

玩得开心,不要犹豫再问。