logik.js
Achtung, die Infos in dieser Datei sind evtl. nicht auf dem aktuellen Stand!
logik.js
1. Figurentyp-Prüfungen
istBauer(figur)
istSpringer(figur)
istLaeufer(figur)
istTurm(figur)
istDame(figur)
istKoenig(figur)
Diese Funktionen prüfen, ob figur
ein Bauer, Springer, Läufer etc. ist.
2. Figurenfarben-Prüfungen
istGegnerischeFigur(figur, spieler)
Prüft, ob figur
gegnerisch ist.istEigeneFigur(figur, spieler)
Prüft, ob figur
eigene ist.istGleichfarbig(figur1, figur2)
Prüft, ob figur1
und figur2
gleichfarbig sind.
3. Kernlogik für Zugermittlung
Achtung: Diese Funktionen prüfen nicht, ob die Farbe der Figur, die sich auf feld befindet, am Zug ist.
istBewegungGueltig(feld, richtung)
Prüft, ob eine Bewegung vom Feld in Richtung gültig ist, also der Rand des Brettes nicht übertreten wurde.
gueltigeZielfelder(feld, spielzustand)
Liefert eine Liste der Felder, auf welche die figur
ziehen kann, die sich auf feld
befindet.zuegeInRichtung(feld, richtung, spielzustand, schleife)
Berechnet alle Züge, welche die auf dem feld
stehende figur
in richtung
ziehen kann. Liefert eine Liste der Felder, welche die Figur erreichen kann.
4. Spezifische Zugregeln pro Figurentyp
bauernZuege(feld, spielzustand)
springerZuege(feld, spielzustand)
laeuferZuege(feld, spielzustand)
turmZuege(feld, spielzustand)
dameZuege(feld, spielzustand)
koenigZuege(feld, spielzustand)
Liefern Listen der Felder, auf die die Figur ziehen kann, die sich auf feld
befindet, wenn sie ein Bauer, ein Springer, ein Läufer ist.
Achtung: Die Funktion prüft nicht, ob sich tatsächlich auf dem Feld eine Figur befindet, die ein Bauer (etc.) ist. Sie prüft auch nicht, ob die Farbe der dort befindlichen Figur am Zug ist.