Dr. Andreas Borchert Abteilung Angewandte
Informationsverarbeitung 15.12.2004
Norbert Heidenbluth Blatt 9
Allgemeine Informatik I für Mathematiker/Wirtschaftsmathematiker
(WS 2004/2005)
Abgabetermin: 22. Dezember 2004
Nachdem Sie durch Aufgabe 14 Ihre Karriere als Programmierer in
der Spielebranche höchst erfolgreich begonnen haben, mussten
Sie diese ja für die vergangenen zwei Blättern zugunsten der
Logik unterbrechen. Jetzt sehnen Sie sich danach, das eine (also
das Programmieren der Spiele) mit dem anderen (also der Logik) zu
kombinieren. Ist ja auch irgendwie logisch ;-)
Natürlich können wir Ihnen da mit diesem Übungsblatt entgegenkommen,
denn diesmal dürfen Sie ein Logikspiel programmieren: das beliebte
Mastermind.
Für den Fall, daß Sie Mastermind noch nicht kennen, hier eine kurze
Erklärung:
Angenommen, der Computer denkt sich die Kombination 3 2 1 5 aus. Die
nachstehende Tabelle zeigt dann für einige Tips die entsprechenden
Ausgaben:
Tip |
schwarz |
weiß |
Erklärung |
1 2 3 4 |
1 |
2 |
1,3 sind an falschen Positionen, 2 ist korrekt |
3 1 2 5 |
2 |
2 |
3,5 sind korrekt platziert, 1,2 liegen auf anderen Positionen |
3 2 1 4 |
3 |
0 |
3 korrekte Positionen, 4 kommt in der Lösung nicht vor |
2 3 4 1 |
0 |
3 |
3 korrekte Ziffern, aber keine korrekte Position |
3 2 4 1 |
2 |
1 |
usw. |
3 2 1 4 |
3 |
0 |
|
3 2 1 5 |
4 (gewonnen!) |
0 |
|
Um die volle Punktzahl zu erreichen, muß Ihr Programm folgende Anforderungen erfüllen:
- Vollständiger Verzicht auf globale Variablen;
allerdings dürfen (und sollten) Konstanten zur Festlegung
der Größe der gesuchten Kombination und der zur Verfügung
stehenden Farben / Zahlen verwendet werden (dies wären in der
Originalversion beispielsweise 4 und 6).
- Aufteilung Ihres Programms in Prozeduren und Funktionen
- Überprüfen der Eingabe auf Fehler und unsinnige Eingaben
(wie z.B. Ziffern außerhalb des zulässigen Bereichs, doppelt
eingegebene Ziffern, usw.)
Wieder haben Sie einen FTP-Server
gefunden1,
der eine kompilierte Version des Spiels (für Linux und Solaris)
anbietet. Sie können sich das Programm von dort herunterladen, um ein
Beispiel dafür zu haben, wie Ihre Version aussehen könnte.
Denken Sie daran, daß Sie
- die Linux-Version nur auf einem Linux-Rechner und die
Solaris-Version nur auf einem Solaris-Rechner ausführen können
und daß Sie
- die Programme nach dem Download zunächst mit chmod +x
<dateiname> ausführbar machen müssen!
Viel Erfolg!
Fußnoten
- ...
gefunden1
- Hier nochmal die vollständige URL:
ftp://ftp.mathematik.uni-ulm.de/pub/vorlesungen/ws04/prog/uebungen/blatt9/bsp/mastermind
Norbert Heidenbluth
2004-12-22