(PHP) Schach konzept

V1tzl1

Lt. Junior Grade
Registriert
Sep. 2004
Beiträge
384
Moin erstmal wie immer sry wegen der runden klammern, aber diese Spanischen Tastaturen sind sturr :D

Ich wollt mal nen schachspiel in PHP proggen.
(Also player gegen player, ohne Bot)
Naja da wollt ich mich ma umhoehren, wie ihr die DB gestalten wuerdet.
Also zur verfuegung hab PHP und MySQL.
Wuerdet ihr die position der einzelnen figuren inner db speichern oder jedes einzelne Feld nehmen und evtl leer lasen.

Die koords wollte ich eigenlich in ner integer Variable speichern (und die A-H felder auch in Zahlen umwandeln).
Dann wollte ich fuer jede figur ne funktion machen, die das bewegen der figuren regelt.

Stimmt ihr mir da zu, oder wuerdet ihr was anders machen ??

Schon mal danke fuers kopfzerbrechen V1tzl1
 
Ich würde eine Tabelle Figuren erstellen, Felder sollten in etwa FigureId int(32), XCoord int(1), YCoord int(1), FigureType varchar(32), PlayerId int(32), GameId int(32) sein, wobei man dann natürlich noch eine Tabelle mit den Spielern und ihren IDs bzw. eine Tabelle mit den gestarteten Spielen benötigt.
 
Nu ganz ruhig, erstma wollt ich nur ein Spiel gleichzeitig laufen lassen (mein Bruder und ich ueber LAN), da bei mir eh den ganze tach die Bohne (apache) laeuft...
 
Innteressant wird es ,wenn du folgende Dinge bedenkst:

Bei einem Zug darf nur der Springer üner felder laufen, die besetzt sind.
Der König darf nach einem eigenen Zug oder während der Rochade nie schach stehen
Bauern dürfen nur vorwärts laufen und schräg vorwärts schlagen.
Die Rochade darf nur stattfinden, wenn weder König noch Turm gezogen wurden und keine Figur im Weg steht bzw der König auf deinem Weg nicht durchs Schach läuft.
Ein Bauer kann von der Grundlinie 2 Felder vor gehen.
Wenn er das tut, kann ein daneben stehender gegnerischer bauer "im Vorbeigehen" schlagen.
Erreict ein Bauer die gegenüberliegende Seite, darf er in eine andere Figur umgewandelt werden.
Wenn 3mal hintereinander die gleiche Spielsituation eintritt ist Remis.


In der DB würd ich die Feldbezeichnungen (zB: A und 1 oder H und 8) als primärschlüssel nehmen und mit ner ID einer Figur verknüpfen bzw null setzen oder löschen...
 
Naja die Schach regeln ken ich auch :D
Ich wollt jedoch erstmal ohne rochade und dame umwandeln und so, aber dafuer hab ich ja die Funktion move fuer jeden figurentyp, also laesst sich das leicht ersetzen
 

Ähnliche Themen

Zurück
Oben