作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 JavaScript 的新手,我正在尝试创建一个 2 人井字游戏,我有基本代码,但我不明白如何将字母从 X 切换为 O 或改变玩家轮次。
这是我目前所拥有的:
var player2= "O" ;
var player1 = "X";
var cells = document.querySelectorAll(".cell");
const winCombos = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 4, 8],
[6, 4, 2],
[2, 5, 8],
[1, 4, 7],
[0, 3, 6],
]
startGame();
function startGame() {
document.querySelector('.endgame').style.display = "none";
//board = [0,1,2,3,4,5,6,7,8]
for (var i = 0; i < cells.length; i++) {
cells[i].innerText = '';
cells[i].style.removeProperty('background-color');
cells[i].addEventListener('click', changeTurn)
}
}
function changeTurn(square) {
console.log(square.target.id);
let squareId = square.target.id;
document.getElementById(squareId).innerText = player1;
}
请建议我可以切换玩家回合的任何方式。谢谢你
最佳答案
在changeTurn
方法中使用一个全局变量来存储事件的播放器和切换播放器。
var activePlayer = 0;
var players = ['X', '0'];
....
function changeTurn() {
// fill cell with players[activePlayer] and check for win logic.
activePlayer = activePlayer == 0 ? 1 : 0;
}
关于javascript - 在两人井字游戏中切换玩家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57139339/
我是一名优秀的程序员,十分优秀!