gpt4 book ai didi

javascript - 使用纯 JavaScript 刷新我的井字游戏的最佳方式?

转载 作者:搜寻专家 更新时间:2023-10-31 08:16:31 25 4
gpt4 key购买 nike

我的玩家对玩家井字游戏已完成 95%。将来我会添加一个不错的 AI,并会为某人获胜设置条件。

现在我只是在寻找最好的方式来刷新我的游戏,而无需使用纯 JavaScript 重新加载页面。我的页面底部有一个按钮,基本上一旦它点击,我就想完全清除板上的所有内容,然后游戏重新开始。

他们会点击我 HTML 底部的这个

<center><div id="refresh" class="fa fa-refresh faa-spin animated-hover fa-5x"></div></center>

这是我到目前为止的井字游戏,以防有人想查看它:)

非常努力地成为真正擅长 HTML/CSS/JavaScript 的人><非常努力!

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Tic-Tac-Toe</title>
<link rel="stylesheet" href="css/styles.css" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<link rel="stylesheet" href="css/font-awesome-animation.min.css">
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon" />
</head>

<header>
<h1>Tic-Tac-Toe </h1>
</header>

<body>
<!--Table for Tic Tac Toe-->
<table id="mytable" class="grid">
<tr>
<td id="field1" class="square"></td>
<td id="field2" class="square v"></td>
<td id="field3" class="square"></td>
</tr>
<tr>
<td id="field3" class="square h"></td>
<td id="field4" class="square v h"></td>
<td id="field5" class="square h"></td>
</tr>
<tr>
<td id="field4" class="square"></td>
<td id="field5" class="square v"></td>
<td id="field6" class="square"></td>
</tr>
</table>
<!--Refresh Icon/Start Game Over-->
<div id="refreshIcon">
<center><div id="refresh" class="fa fa-refresh faa-spin animated-hover fa-5x"></div></center>
</div>

</div>
<script type="text/javascript" src="js/main.js"></script>
</body>
</html>

JavaScript

var xTick = "../images/x-tick.png";
var oTick = "../images/o-tick.png";
var bg = null;
var counter = 0;
var memoryMove = [];
var refreshButton = document.getElementById('refresh');

var listRows = document.getElementById("mytable").rows;
/** detecting rows */
for(var i = 0; i < listRows.length;i++){
/** detecting cells */
for(var x = 0; x < listRows[i].cells.length; x++){
listRows[i].cells[x].setAttribute("data-cell",i.toString()+x.toString());
listRows[i].cells[x].addEventListener("click",function(){
var move = this.getAttribute("data-cell");
console.log(move);
if (memoryMove.indexOf(move) === -1){
memoryMove.push(move);
if (counter === 0){
bg = xTick;
} else {
if(counter % 2 === 0){
bg = xTick;
} else {
bg = oTick;
}
}
counter++;
this.style.background="url('./images/"+bg+"') center center no-repeat";
} else {
alert('Stop trying to cheat!');
}
/** Start a new game */
refreshButton.addEventListener('click', function() {

// alert("Refresh Results");
})
});
}
}

最佳答案

单击刷新按钮时,只需删除每个 td 的背景图像。同时重置您的计数器memoryMove

refreshButton.addEventListener('click', function() {

for (var i = 1;i <= 9;i++) {
document.getElementById("field"+i).style.background="none";
counter = 0;
memoryMove = [];
}

});

关于javascript - 使用纯 JavaScript 刷新我的井字游戏的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33728201/

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