gpt4 book ai didi

javascript - 如何判断玩家在井字游戏中是输是赢

转载 作者:行者123 更新时间:2023-11-30 15:42:21 25 4
gpt4 key购买 nike

<!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;
}

这是井字游戏的 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();

}

这是我的井字游戏 JS。问题是我不知道如何通知玩家是否赢了。至此棋盘上两人可以轮流上场,仅此而已。如何在 Javascript 中添加代码以显示“X”或“O”获胜?另外,我想知道我的代码到目前为止是否正确。所有建议将不胜感激!

最佳答案

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

建议在代码中加入更多逻辑。你通过例如将多维数组添加到您的 javascript 代码中。您正在构建 3x3 用户界面,其中包含 3 行数组,每行包含 3 个条目。

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

但是您存储的不是 1 到 9 的数字,而是哪个玩家将他/她的“盒子”放到了那个位置。你可以在你的 set() 函数中做到这一点,正如你知道的那样,哪个玩家选择了哪个框。每次调用 set() 函数后,您遍历该数组并找出是否有人“在一行或一列中有三个框”

除此之外,如果您查看 CSS,就会发现您使用的是 CSS ID 而不是类。一个类可以定义一次并用于您的任何“框”,而不是编写相同的定义 9 次。

在您担心代码质量等问题之前,我建议您先“以某种方式”让它工作,然后尝试逐步改进它。

祝您尝试愉快,不要犹豫再问。

关于javascript - 如何判断玩家在井字游戏中是输是赢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40621608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com