Tic-Tac-Toe ist ein Spiel mit 3×3 Feldern. Die Spieler:innen setzen abwechslungsweise ein leeres Feld auf X
bzw. O
. Das Spiel ist beendet, wenn ein Spieler drei Felder in horizontaler, vertikaler oder diagonaler Reihe besetzen kann, oder wenn keine freien Felder übrig sind (unentschieden).
Erstelle HTML & CSS, um ein TicTacToe-Spiel darzustellen:
tictactoe.html
!<button>
Elementen, die mit einem Grid-Layout auf 3×3 Felder formatiert werden können.Das Ziel dieses Auftrags ist, dass zu zweit im Browser TicTacToe gespielt werden kann. Dazu nutzen wir JavaScript.
Jeder button
benötigt einen Click-Handler, der ausgeführt wird, wenn die spielende Person darauf klickt.
Der Click-Handler:
X
oder O
data-state
, das dazu dient, die Spiellogik zu betreiben.
Um die Darstellung des Spiels zu ändern, setzen wir den Text des Buttons. Um die Spiellogik zu betreiben, speichern wir den Zustand zudem in einem Attribut data-state
:
let color = 'X'; // or 'O' button.innerText = color; button.setAttribute('data-state', color);
In CSS können wir mit einem geeigneten Selektor die Zellen formatieren, die einen bestimmten Attributwert haben:
button[data-state="X"] { background-color: red; } button[data-state="O"] { background-color: blue; }
Für Benachrichtigungen (z.B. über das Ende des Spiels) kann man die Funktion alert(message)
nützen, die ein Browser-Popup anzeigt. Schöner ist es, einen Bereich im HTML zu definieren, der Meldungen anzeigt.