let O1 = false;
let X1 = false;
let O2 = false;
let X2 = false;
let O3 = false;
let X3 = false;
let O4 = false;
let X4 = false;
let O5 = false;
let X5 = false;
let O6 = false;
let X6 = false;
let O7 = false;
let X7 = false;
let O8 = false;
let X8 = false;
let O9 = false;
let X9 = false;
let turn = 0;
function Xon1() {
if (O1 === false && X1 === false && turn === 0) {
document.getElementById("1").innerHTML = 'X';
X1 = true;
turn++
setTimeout(compMove, 1000);
}
}
function Xon2() {
if (O2 === false && X2 === false && turn === 0) {
document.getElementById("2").innerHTML = 'X';
X2 = true;
turn++
setTimeout(compMove, 1000);
}
}
function Xon3() {
if (O3 === false && X3 === false && turn === 0) {
document.getElementById("3").innerHTML = 'X';
X3 = true;
turn++
setTimeout(compMove, 1000);
}
}
function Xon4() {
if (O4 === false && X4 === false && turn === 0) {
document.getElementById("4").innerHTML = 'X';
X4 = true;
turn++
setTimeout(compMove, 1000);
}
}
function Xon5() {
if (O5 === false && X5 === false && turn === 0) {
document.getElementById("5").innerHTML = 'X';
X5 = true;
turn++
setTimeout(compMove, 1000);
}
}
function Xon6() {
if (O6 === false && X6 === false && turn === 0) {
document.getElementById("6").innerHTML = 'X';
X6 = true;
turn++
setTimeout(compMove, 1000);
}
}
function Xon7() {
if (O7 === false && X7 === false && turn === 0) {
document.getElementById("7").innerHTML = 'X';
X7 = true;
turn++
setTimeout(compMove, 1000);
}
}
function Xon8() {
if (O8 === false && X8 === false && turn === 0) {
document.getElementById("8").innerHTML = 'X';
X8 = true;
turn++
setTimeout(compMove, 1000);
}
}
function Xon9() {
if (O9 === false && X9 === false && turn === 0) {
document.getElementById("9").innerHTML = 'X';
X9 = true;
turn++
setTimeout(compMove, 1000);
}
}
function compMove() {
if (turn === 1) {
if (X1 === true && X2 === true && X3 === false && O3 === false && turn === 1) {
document.getElementById("3").innerHTML = 'O';
O3 = true
turn--
}
if (X1 === true && X3 === true && X2 === false && O2 === false && turn === 1) {
document.getElementById("2").innerHTML = 'O';
O2 = true
turn--
}
if (X2 === true && X3 === true && X1 === false && O1 === false && turn === 1) {
document.getElementById("1").innerHTML = 'O';
O1 = true
turn--
}
if (X3 === true && X4 === true && X5 === false && O5 === false && turn === 1) {
document.getElementById("5").innerHTML = 'O';
O5 = true
turn--
}
if (X3 === true && X5 === true && X4 === false && O4 === false && turn === 1) {
document.getElementById("4").innerHTML = 'O';
O4 = true
turn--
}
if (X4 === true && X5 === true && X3 === false && O3 === false && turn === 1) {
document.getElementById("3").innerHTML = 'O';
O3 = true
turn--
}
if (X7 === true && X8 === true && X9 === false && O9 === false && turn === 1) {
document.getElementById("9").innerHTML = 'O';
O9 = true
turn--
}
if (X7 === true && X9 === true && X8 === false && O8 === false && turn === 1) {
document.getElementById("8").innerHTML = 'O';
O8 = true
turn--
}
if (X8 === true && X9 === true && X7 === false && O7 === false && turn === 1) {
document.getElementById("7").innerHTML = 'O';
O7 = true
turn--
}
if (X1 === true && X4 === true && X7 === false && O7 === false && turn === 1) {
document.getElementById("7").innerHTML = 'O';
O7 = true
turn--
}
if (X1 === true && X7 === true && X4 === false && O4 === false && turn === 1) {
document.getElementById("4").innerHTML = 'O';
O4 = true
turn--
}
if (X7 === true && X4 === true && X1 === false && O1 === false && turn === 1) {
document.getElementById("1").innerHTML = 'O';
O1 = true
turn--
}
if (X2 === true && X5 === true && X8 === false && O8 === false && turn === 1) {
document.getElementById("8").innerHTML = 'O';
O8 = true
turn--
}
if (X2 === true && X8 === true && X5 === false && O5 === false && turn === 1) {
document.getElementById("5").innerHTML = 'O';
O5 = true
turn--
}
if (X5 === true && X8 === true && X2 === false && O2 === false && turn === 1) {
document.getElementById("2").innerHTML = 'O';
O2 = true
turn--
}
if (X3 === true && X6 === true && X9 === false && O9 === false && turn === 1) {
document.getElementById("9").innerHTML = 'O';
O9 = true
turn--
}
if (X3 === true && X9 === true && X6 === false && O6 === false && turn === 1) {
document.getElementById("6").innerHTML = 'O';
O6 = true
turn--
}
if (X6 === true && X9 === true && X3 === false && O3 === false && turn === 1) {
document.getElementById("3").innerHTML = 'O';
O3 = true
turn--
}
if (O5 === false && X5 === false) {
if (X1 === true || X2 === true || X3 === true || X4 === true || X5 === true || X6 === true || X7 === true || X8 === true || X9 === true && turn === 1) {
document.getElementById("5").innerHTML = 'O';
O5 = true
turn--
} else {
compRandom()
}
} else {
compRandom()
};
}
}
function compRandom() {
randomChoice = Math.floor(Math.random() * 9) + 1
if (randomChoice === 1 && X1 === false && O1 === false) {
document.getElementById("1").innerHTML = 'O';
O1 = true
turn--
}
if (randomChoice === 2 && X2 === false && O2 === false) {
document.getElementById("2").innerHTML = 'O';
O2 = true
turn--
}
if (randomChoice === 3 && X3 === false && O3 === false) {
document.getElementById("3").innerHTML = 'O';
O3 = true
turn--
}
if (randomChoice === 4 && X4 === false && O4 === false) {
document.getElementById("4").innerHTML = 'O';
O4 = true
turn--
}
if (randomChoice === 5 && X5 === false && O5 === false) {
document.getElementById("5").innerHTML = 'O';
O5 = true
turn--
}
if (randomChoice === 6 && X6 === false && O6 === false) {
document.getElementById("6").innerHTML = 'O';
O6 = true
turn--
}
if (randomChoice === 7 && X7 === false && O7 === false) {
document.getElementById("7").innerHTML = 'O';
O7 = true
turn--
}
if (randomChoice === 8 && X8 === false && O8 === false) {
document.getElementById("8").innerHTML = 'O';
O8 = true
turn--
}
if (randomChoice === 9 && X9 === false && O9 === false) {
document.getElementById("9").innerHTML = 'O';
O9 = true
turn--
}
}
td {
border: 1px solid black;
height: 50px;
width: 50px;
}
<html>
<body>
<table>
<tr>
<td align="center"><button id="1" onclick="Xon1()">-</button></td>
<td align="center"><button id="2" onclick="Xon2()">-</button></td>
<td align="center"><button id="3" onclick="Xon3()">-</button></td>
</tr>
<tr>
<td align="center"><button id="4" onclick="Xon4()">-</button></td>
<td align="center"><button id="5" onclick="Xon5()">-</button></td>
<td align="center"><button id="6" onclick="Xon6()">-</button></td>
</tr>
<tr>
<td align="center"><button id="7" onclick="Xon7()">-</button></td>
<td align="center"><button id="8" onclick="Xon8()">-</button></td>
<td align="center"><button id="9" onclick="Xon9()">-</button></td>
</tr>
</table>
</body>
</html>
I've looked through the code and I know it's a lot so I probably missed something so maybe somebody could help me figure out whats wrong with it. Is there some problem with the if statements? Also you don't have to but I wouldn't mind if you could figure out how to shorten it and or simplify it to make it easier to review.
Two O's in tic-tac-toe game in your code is result because there is no
else if, in your code is onlyifandelsewhen you addelse ifthen there is no two O's in one computer turn.Please use loops arrays and objects to create short code without repeating yourself. Here is example of snippet with short code for tic-tac-toe game.