@@Felix Riesterer
isser nun im Wiki und möchte kritisiert und verbessert werden:
Eins hatte ich in meinen Betrachtungen bislang ausgespart: die Logik. Aber auch hier stellt sich eine Frage nach den grundsätzlichen Lernzielen. Es sollten doch sicher von Anfang an Daten und Darstellung getrennt sein; dem Anfänger das EVA-Prinzip vermittelt werden.
Ist es vor diesem Hintergrund wirklich ratsam, die Logik ans DOM zu koppeln? Also die Erkennung „3 in einer Reihe?“ anhand von Klassen der DOM-Elemente vorzunehmen?
Wäre es nicht sinnvoller, die Daten über den Spielverlauf in einer 3×3-Matrix zu halten? Intitial mit Nullen gefüllt, wenn ❌ ein Spielfeld belegt, wird eine 1 in das entsprechende Feld der Matrix eingetragen, bei ⭕ −1.
Die Erkennung „3 in einer Reihe?“ bestünde dann einfach in der Ermittlung der Zeilensummen, Spaltensummen und Summen der Elemente in den Diagonalen. Wenn eine der Summen den Absolutbetrag 3 hat, ist das Spiel zuende. Bei +3 hat ❌ gewonnen; bei −3 ⭕.
Das sollte einfacher zu implementieren sein als die Abfrage von Klassen. Einfacherer Code und Vermittlung von EVA – Win-Win, oder?
LLAP 🖖
„Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
„Hat auf dem Forum herumgelungert …“
(Wachen in Asterix 36: Der Papyrus des Cäsar)