Implementierung eines Brettspiels inklusive KI
Inhalt
In Gruppenarbeit soll ein Brettspiel inklusive Computerspielern implementiert werden. Das Spiel orientiert sich an dem bekannten Brettspiel Das verrückte Labyrinth von Ravensburger. Zunächst soll in gemeinsamer Teamarbeit Spiellogik und grafische Oberfläche implementiert werden. Danach sollen zwei konkurrierende Teams jeweils Computerspieler entwerfen und implementieren, die am Ende des Semesters gegeneinander antreten sollen. Neben den technischen Anforderungen stehen die Arbeitsteilung im Team und die Präsentation der eigenen Arbeit im Mittelpunkt.Voraussetzungen
Hohe Motivation und die Bereitschaft zu eigenständigem Engagement.Kenntnisse der Vorlesungen "Programmierung" und "Datenstrukturen und Algorithmen" empfohlen.
Als Programmiersprache wird Java verwendet, gute Kenntnisse dieser Sprache sind wichtig.
Hinweise
Das Software-Projektpraktikum enthält wöchentlich einen einstündigen Vorlesungs- und einen dreistündigen Praktikumsanteil. Die Teilnehmerinnen und Teilnehmer stellen dabei auch in Vorträgen und Demonstrationen den Fortgang der Arbeit vor. Ein wichtiges Lernziel dieser Veranstaltung ist die Bewältigung der vielen Probleme, die bei der Lösung eines mittelschweren Entwicklungsprojektes im Team auftauchen.Dokumente
- Regelwerk 1.1 (pdf)
- Protokoll 1.3 (pdf) (Historie:0.1, 1.1, 1.2)
Core library und Server
- lufgti-swp-lib-v1.5.jar (Historie: 1.4, 1.3, 1.1, 1.2)
- Game server 1.9 (1.8, 1.7, 1.6, 1.5, 1.4, 1.3, 1.2, 1.1, 1.0)
- Game view 1.2 (1.1 1.0)
java -jar LabyrinthServer.jar
gestartet
und enthält neben dem Gameserver auch einen Testclient (siehe Hilfe, die bei
einem Start ohne Argumente ausgegeben wird).
Testlevel
Spiele
Die Replays des ersten Spiels finden sich hier.Interessante Informationen
- Design Patterns
- Refactoring
- Tutorial on distributed version control (Für Mercurial, ist aber konzeptionell gut auf Git übertragbar)
- Code smells