Schach (Konsole && OOP && Anfänger :p)
Verfasst: Samstag 30. Juni 2007, 23:44
Also wie sich aus dem Titel ergibt, hab ich vor ein konsolenbasiertes Schachspiel zu machen. Ich hab gar nicht erst vor, sowas komplexes wie eine KI zu erstellen, sondern einfach ein Schachspiel, in dem beide Spieler ihre Züge machen können. Nichtmal über Netzwerk, weil ich noch relativ wenig Ahnung von Python hab und die ganzen Module nicht so kenn :p Aber ich denk das wird auch ohne so Zeug genug Arbeit.
Ich hab eigentlich auch noch fast nichts mit OOP gemacht (ich komm aus der PHP-Ecke) und bräuchte auch erstmal ein paar Hilfestellungen zum Aufbau.
Ich hab mir überlegt, eine Klasse für das Spielbrett zu machen, in der das Spielbrett erstellt wird, eine Klasse für die Spielfiguren, eine für die Spieler und eine, die alles zusammenfasst.
Praktisch:
Also die 1. Klasse, ChessBoard, stellt das Spielbrett als 2-Dimensionale Liste bereit, Eine Player-Instanz soll eben einen Player vertreten, dh ihr wird die Farbe und der Namen Zugewiesen, und ein Chessman bekommt eben eine Bezeichnung/Klassifizierung (König, Dame, Bauer, ...) und wird einem Spieler zugewiesen und hat vllt noch den Status living/dead.
Naja und die Klasse Chess soll das eben alles irgendwie zusammenfassen, also erstmal alles instanzieren und mithilfe der Instanzen und deren Methoden schön die ganzen Züge usw implementieren.
So hab ich mir das erstmal gedacht... Nur kommen mir da ein paar Probleme auf. Also irgendwie haben ja zB die Spielfiguren rein gar nichts mit dem Spielbrett zu tun? Wenn ich eine Spielfigur bewege, würde ich das ja so machen:
Ich rufe eine Methode von Chess auf, die eine Methode der Instanz von ChessBoard aufruft, welche einmal das Feld, auf dem die Figur stand auf unbesetzt setzt und das Feld, auf die sie gesetzt wird, mit der Figur belegt.
Mir kommt das halt irgendwie komisch vor, wenn die Figur gar nichts mit dem Spielbrett zu tun hat. Wie gesagt ich hab nicht viel erfahrung mit OOP ...
Gibt es vielleicht ein viel besseres Konzept? Ich bin dankbar für jeden Ratschlag
Sry für die lange und eventuell langweilige Beschreibung!
Edit: Mir fällt grad auf, dass Ideen vielleicht nicht das richtige Forum war, sondern eher Allgemeine Fragen?
Es ist spät :p
Sorry.
Ich hab eigentlich auch noch fast nichts mit OOP gemacht (ich komm aus der PHP-Ecke) und bräuchte auch erstmal ein paar Hilfestellungen zum Aufbau.
Ich hab mir überlegt, eine Klasse für das Spielbrett zu machen, in der das Spielbrett erstellt wird, eine Klasse für die Spielfiguren, eine für die Spieler und eine, die alles zusammenfasst.
Praktisch:
Code: Alles auswählen
class ChessBoard:
class Player:
class Chessman:
class Chess:
Naja und die Klasse Chess soll das eben alles irgendwie zusammenfassen, also erstmal alles instanzieren und mithilfe der Instanzen und deren Methoden schön die ganzen Züge usw implementieren.
So hab ich mir das erstmal gedacht... Nur kommen mir da ein paar Probleme auf. Also irgendwie haben ja zB die Spielfiguren rein gar nichts mit dem Spielbrett zu tun? Wenn ich eine Spielfigur bewege, würde ich das ja so machen:
Ich rufe eine Methode von Chess auf, die eine Methode der Instanz von ChessBoard aufruft, welche einmal das Feld, auf dem die Figur stand auf unbesetzt setzt und das Feld, auf die sie gesetzt wird, mit der Figur belegt.
Mir kommt das halt irgendwie komisch vor, wenn die Figur gar nichts mit dem Spielbrett zu tun hat. Wie gesagt ich hab nicht viel erfahrung mit OOP ...
Gibt es vielleicht ein viel besseres Konzept? Ich bin dankbar für jeden Ratschlag

Sry für die lange und eventuell langweilige Beschreibung!
Edit: Mir fällt grad auf, dass Ideen vielleicht nicht das richtige Forum war, sondern eher Allgemeine Fragen?
Es ist spät :p
Sorry.