Mastermind

Allgemein
Vorgehen
Bedienungsanleitung

JavaDoc

Spielen!
Download
Links
Lizenz
 
Credits
Forum

Kurze Einführung

Was ist "Mastermind"

Im Rahmen eines Kleinprojektes der Hochschule für Technik und Architektur (HTA) Horw wurde die Aufgabe gestellt das Spiel "Mastermind" in Java zu realisieren.

Der Projektauftrag

Allgemeines

Mastermind ist ein Spiel für zwei Spieler. Ein Spieler gibt ein Codewort (Kombination von Farben) vor und der andere versucht dieses Codewort in einer vorgegebenen Anzahl von Versuchen zu erraten. Der Vorgebende bewertet dabei jeden Versuch des Ratenden nach seiner Korrektheit mit roten und weissen Punkten.

Bewertungsregeln

Roter Punkt: Richtige Farbe an der richtigen Stelle erraten

Weisser Punkt: richte Farbe aber an der falschen Stelle gesetzt

Dabei hat die Reihenfolge der gegebenden Punkte nichts mit der Reihenfolge im geratenen oder vorgegebenen Codewort zu tun. Jede Farbe in der Vorgabe und im Versuch darf nur einmal zur Bewertung herangezogen werden. Ist das Codewort geknackt, so wird dies durch vier rote Punkte gekennzeichnet.

Spielablauf

Der Computer gibt ein zufälliges Codewort mit den gewünschten Spezifikationen (Siehe Anforderungen) vor. Danach kann der Spieler seine Versuche Starten und diese vom Computer bewerten lassen.

Minimale Anforderungen

Vorgaben

  • Anzahl Farben: 6
  • Anzahl Versuche: 8
  • Länge des Codeworts: 4
  • Mehrfachfarben nicht erlaubt

Funktionen

  • Computer gibt zufälliges Codewort vor
  • Neues Spiel
  • Spiel beenden
  • Codestecker stecken
  • Codestecker umstecken
  • Gestecktes Codewort auswerten
  • Codewort aufdecken

Nice to have

  • Mehrfachfarben erlaubt
  • Zeitlimite für Rateversuche
  • Spielmode änderbar (Einfach-/Mehrfachfarben
  • Anzeige eines Scores (Berechnung aus Spielmode und Anzahl Versuche)
  • Speichern des High-Scores (z.B. Top-ten)

Worum geht es bei diesem Kleinprojekt?

  • Eine etwas anspruchsvollere Problemstellung
  • Die objektorientierte SW-Entwicklung im Kleinen
  • Den Bau eines GUI
  • Den Einsatz von UML
  • Den Einsatz von JavaDoc
  • Die Entwicklung von Algorithmen
  • Um das File-Handling, die Objekt-Serialisierung, das MVC-Konzept

Am Ende der Fallstudie sind folgende Dokumente (Artefakte) in elektronischer Forma abzugeben bzw. auf den Server zu kopieren:

  1. Beschreibung der Anforderungen mit Hilfe von Andwendungsfällen (Use-Cases)
  2. Skizze für das zukünftige GUI
  3. UML-Klassendiagramm
  4. Source-Code
  5. Software-Dokumentation mit JavaDoc
  6. Screen-Shots
  7. Test bzw. Verifikation der Anwendungsfälle am konkreten Programm
  8. kurze Bedienungsanleitung

Bemerkung: Die Dokumente werden nicht rein sequentiell entstehe, sondern typisch auch iterativ. Weiter ist es normalerweise nicht sinvoll, sämtliche Details zu dokumentieren. Die Dokumentation muss aber in sich konsistent sein!