<!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;赢了? 另外,我想知道我的代码到目前为止是否正确。所有建议将不胜感激!
答案 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次。
在您考虑代码质量之前,我建议您“以某种方式”使其工作,然后尝试逐步改进它。
玩得开心,不要犹豫再问。