Projektdaten
Projekt: Mastermind
Autor: Achim Hänsch
Organisation: privat
Beschreibung:
Dies ist das bekannte Spiel "Mini-Superhirn" als Java-Applet.
Ziel ist es, von 6 Farben die richtige Kombination von 4
Farben mit maximal 6 Versuchen zu erraten.
Der Computer bewertet jeden Versuch durch das Anzeigen eines Stickers für
richtige Farben und richtige Farben am richtigen Platz.
Eigenschaften
- 3 Klassen: Mastermind (implements ActionListener), GuessRow, und TitleTicker
(implements Runnable). Alle Klassen bunutzen nur AWT-Elemente, um die
Darstellbarkeit in herkömmlichen Browsern zu garantieren (die schöneren
SWING-Klassen funktionieren leider nur bei netscape).
- Mastermind erstellt 6 Instanzen (Rateversuche) von GuessRow, und eine
Instanz von TitleTicker
- TitleTicker startet als unabhängiger Thread, um schneller Benutzereingaben
bei den anderen Komponenten sicherzustellen.
Funktionsbeschreibung:
- 4 (von 6) farben werden zufällig ausgewählt; if - Abfragen
stellen sicher, dass jede farbe nur einmal vorkommt.
- Die geratene Farben werden mit den vom Computer vorgegebenen verglichen:
Zuerst die Farben an der richtigen Stelle, dann richtige Farben, aber am
falschen Ort.
Richtige Ergebnisse erzeugen schwarze oder weiße Sticker.
- Wenn alle Farben richtig geraten wurden, endet das Spiel. Wenn nicht, wird
die nächste Zeile für den nächsten Rateversuch angezeigt.
'Lessons Learned':
- Der Borland JBuilder Graphic UI Editor (jedenfalls bis einschließlich
Version 3, den ich hier benutzt habe) unterstützt keine Felder
von Anzeigeelementen, deshalb werden sie im UI Designer nicht dargestellt. (Im
fertigen Programm kann man sie natürlich schon sehen, wenn sie korrekt
programmiert sind).
- Alle Elemente müssen zur den init() oder jBinit() -
Methoden hinzugefügt werden. Alle Versuche, solche Elemente dynamisch zur
Laufzeit hinzuzufügen, sind leider fehlgeschlagen, sie sind dann nicht
sichtbar.