squeaker
Erfahrenes Mitglied
Snape hat gesagt.:Figur als eigene Klasse finde ich auch etwas übertrieben. Ich fragte mich nur, ob es prinzipiell eine Klasse "Figur" geben soll oder ob man sie gleich ins Brett/Board integriert. Gefühlsmäßig würde ich eine Klasse Figur anlegen. Dem Brett würde ich die Stellungskontrolle und Verarbeitung überlassen, also Ziehen, Schlagen mit den dafür notwendigen Überprüfungen. Ob auf dem Zielfeld eine Figur steht, wenn ja, ist es eine Figur der eigenen Farbe oder des Gegners, handelt es sich um den König usw.
Gefühlsmäßig würde ich auch eine Klasse für Figur anlegen - sie aber bei Schach dann verwerfen, da die Funktionalität einer Figur doch arg beschränkt ist. Bei Civilisation (dem Computerspiel) hingegen ist es klar, dass eine Klasse für die Figur existieren muß (und ausserdem eine für das Feld auf dem es steht - diese würde ich beim Schachbrett auch weglassen, da nur die Farbe sich ändert, es aber sonst keine Eigenschaften hat).
Snape hat gesagt.:Meldekette sehe ich GUI (=Spieler) oder Engine an Board und das Board verarbeitet weiter.
Dahingegen bin ich noch unsicher, wo die Zugliste unterzubringen ist...
Das mit der Meldekette sehe ich genauso. Allerdings würde ich die Zugliste zwischen Spieler (ake Engine oder GUI) und Board legen. Damit bekommt die Zugliste jeden Zug mit und kann das Brett manipulieren. Am Ende des Spieles wechselt die Zugliste in den Bearbeiten/Erklären Modus und erlaubt es dem Spieler der das Bearbeitungsrecht anfordert beliebig in der Partie zurück zu gehen und verschiedene Variationen aufzuzeigen bzw. von einem beliebigen Punkt die Partie wieder vortzusetzen.
Das Board überwacht sozusagen ob die Züge "valid" also korrekt sind, die Zugliste kümmert sich um Beobachter, Chat, Variationen, Beobachtungsmodus usw. (daher ist Zugliste eigentlich ein falscher Name, es sollte mehr die Organisation und Protokollierung sein).