Schachpartien Verwaltung und -abwicklung |
Ein erweiterbares Programm zur Verwaltung und Abwicklung von
Schachspielen.
Hauptmerkmale sollen dabei Robustheit, Modularität und Erweiterbarkeit sein.
Es soll möglich sein, sowohl gegen einen menschlichen Gegner, als auch gegen einen Computergegner zu spielen.
Dabei soll die Intelligenz des Computergegners in einem eigenen Prozess gekapselt sein, der dynamisch
vom Verwaltungsprogramm gestartet werden kann.
Außerdem sollte die Entwicklung mehrerer Frontends möglich sein.
|
|
|
Funktionalität |
- Verwaltung von Spielinformationen (Spielfeld, Zugreihenfolge, (Kommentare, Statistik))
- Abwickelung von Spielzügen
- Regelwerk: Prüfen auf Korrektheit der Züge
- Sichere Anbindung verschiedener Frontends und Zugberechnungs-Module
- Anbieten von Spielinformationen für die Backends : Liste zu schlagender Figuren, Liste möglicher Züge, etc.
- optional: Erzeugung persistenter Spielinformationen, Einlesen der Informationen
- Historyliste (Undo), Nachrichten (Kommentare zu den Zügen), statistische Auswertung von Spielen
|
|
|
Schnittstellen |
- Anbindung verschiedener Frontends: ASCII, Grafisch, Web
- Anbindung verschiedener Backends: Zugsuchprogramme, menschliche Zugeingabe
|
|
|
Umgebung |
Entwicklung mindestens eines komfortablen Frontends (ASCII oder grafisch) und
eines einfachen Schachprogramms zur Demonstration der Schnittstelle
|
|
|
Programmiersprachen und Werkzeuge |
Java 1.2 oder neuer
|
|
|
Vorarbeiten |
Dieser Themenvorschlag stammt von Matthias Klein. Er hat
in seinem Vordiplomsprogramm schon einige Erfahrungen in diesem Themengebiet gesammelt und
steht zu weiteren Diskussionen zur Verfügung.
|
|
|
etc. |
Eine Aufteilung in mehrere Gruppen ist hier möglich: Schachprogramm (backend) und grafische Frontends
können bei sauber definierten Schnittstellen auch unabhängig neben dem Verwaltungsprogramm
entwickelt werden.
|
|
|
|