gpt4 book ai didi

javascript - 在用 javascript 制作井字游戏时,如何创建 A.I.将选择任何随机框,但尚未选择的框?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:09:48 25 4
gpt4 key购买 nike

我正在制作一款井字棋游戏,但遇到了困难。我做了一个 A.I.在你之后移动,但它有点困惑。自己尝试一下,看看会发生什么。任何人都可以看看他们是否能够改进它并解释他们是如何做到的?为简单起见,我怎样才能让 A.I.选择尚未选择的任何框。这是代码:

<!DOCTYPE html>
<html>
<body>
<input type="button" id="k1" value=" " onclick="tictactoe(this)">
<input type="button" id="k2" value=" " onclick="tictactoe(this)">
<input type="button" id="k3" value=" " onclick="tictactoe(this)">
<br />
<input type="button" id="k4" value=" " onclick="tictactoe(this)">
<input type="button" id="k5" value=" " onclick="tictactoe(this)">
<input type="button" id="k6" value=" " onclick="tictactoe(this)">
<br />
<input type="button" id="k7" value=" " onclick="tictactoe(this)">
<input type="button" id="k8" value=" " onclick="tictactoe(this)">
<input type="button" id="k9" value=" " onclick="tictactoe(this)">
<script>
var Xturn = true;
var nummoves = 0;
var cat;
function tictactoe(square) {
var value = square.value;
var doc1 = document.getElementById("k1").value;
var doc2 = document.getElementById("k2").value;
var doc3 = document.getElementById("k3").value;
var doc4 = document.getElementById("k4").value;
var doc5 = document.getElementById("k5").value;
var doc6 = document.getElementById("k6").value;
var doc7 = document.getElementById("k7").value;
var doc8 = document.getElementById("k8").value;
var doc9 = document.getElementById("k9").value;

for (nummoves = 0; nummoves < 2; nummoves++) {

if (doc1 == "X") {
cat = document.getElementById("k2").value = "O";
Xturn = true;
}

if (doc2 = "X") {
cat = document.getElementById("k4").value = "O";
Xturn = true;
}

if (doc3 == "X") {
cat = document.getElementById("k5").value = "O";
Xturn = true;
}

if (doc4 == "X") {
car = document.getElementById("k9").value = "O";
}
}

for (nummoves = 2; nummoves < 3; nummoves++) {

if (doc1 == "X") {
cat = document.getElementById("k7").value = "O";
Xturn = true;
}

}

if (value != "X" && value != "O") {
if (Xturn == true) {
square.value = "X";
return Xturn = false;
nummoves++;
} else if (Xturn == false) {
square.value = "O";
return Xturn = true;
nummoves++;
}
} else {
alert("That square has been clicked.");
}
}
</script>
</body>
</html>

请注意,我承认整个概念不是我的,但我确实是 A.O.部分有点乱。

最佳答案

跟踪空心方 block 列表,然后从该列表中随机选择。

这样你就可以消除循环。

关于javascript - 在用 javascript 制作井字游戏时,如何创建 A.I.将选择任何随机框,但尚未选择的框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13180250/

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