Files
2026-05-16 11:10:19 +02:00

47 lines
1.3 KiB
HTML
Executable File

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tic-Tac-Toe</title>
<style>
body { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100vh; font-family:sans-serif; }
table { border-collapse: collapse; }
td { width:80px; height:80px; text-align:center; vertical-align:middle; font-size:50px; border:2px solid black; cursor:pointer; }
</style>
</head>
<body>
<h2>Tic-Tac-Toe</h2>
<table id="board">
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</table>
<button onclick="reset()">Reset</button>
<script>
let turn = 'X';
const cells = document.querySelectorAll('td');
cells.forEach(cell => cell.addEventListener('click', () => {
if(cell.textContent === '') {
cell.textContent = turn;
if(checkWin(turn)) alert(turn + ' wins!');
turn = turn === 'X' ? 'O' : 'X';
}
}));
function checkWin(p) {
const b = [...cells].map(c=>c.textContent);
const wins = [
[0,1,2],[3,4,5],[6,7,8],
[0,3,6],[1,4,7],[2,5,8],
[0,4,8],[2,4,6]
];
return wins.some(w => w.every(i => b[i]===p));
}
function reset() { cells.forEach(c=>c.textContent=''); turn='X'; }
</script>
</body>
</html>