Universität Ulm - Abteilung Angewandte Informationsverarbeitung
4.Übungsblatt (14.11.00 bis 28.11.00)
zur Vorlesung Allgemeine Informatik III (WS 00/01)


Sie stöbern gierig durch die Männerseiten des Internets - immer auf der Suche nach neuen Erkenntnissen über das "starke Geschlecht". Wer schafft es auch, 25 Beziehungen gleichzeitig am Leben zu erhalten ... ne Menge Arbeit, gell?! Wende ich mich dem einen zu, ist der andere vergrault ... Da bleiben Sie sinnierend hängen bei http://www.maennerseiten.de/sp-light.htm und versuchen alle Beziehungslichter dieses Spiels gleichzeitig auf "An" zu schalten. (Achtung: auf den Suns kann es evtl. Probleme beim Spielen geben). Da Sie für ihre letzte Providerrechnung bereits den Toaster verpfänden mußten, beschließen Sie, dass Spiel "INVERSI" (nennen wir es mal einfach so ...) in C nachzuschreiben, damit Sie es auch offline spielen können ("In-Line an den Füßen, off-line am Rechner und on-line in der Beziehung...").
 

Aufgabe 1 (20 Echtpunkte)

Programmieren Sie das Spiel "Inversi" auf einem 5x5-Board nach. Da wir noch keine Mausbewegung als Eingabemedien verwenden können, greifen Sie auf die bewährte Koordinateneingabe via scanf für einen Zug zurück. Mit printf meistern Sie locker die Bildschirmausgabe des Boards. Hier (rechte Maustaste klicken; save as ...) können Sie eine compilierte (unter SUN-Solaris lauffähige) "Musterlösung" des Spiels als Vorlage nehmen. Via system("clear") löscht frau den Bildschirm, int matrix[5][5] bietet genug Platz für das Spielbrett. Globale Variablen (zumindest für das Brett und die eingegebenen Züge) helfen ihnen ungemein weiter. Bei der Verwendung von Funktionen zeigen Sie sich großzügig! Zumindest aber die folgenden Funktionen sollten von Ihnen implementiert und benutzt werden:
 


Aufgabe 2 (5 Vaporpoints für Hochbegabte 8-))

"Monte Carlo" ist nicht nur Zielort für Steuerflüchtlinge oder eine der engsten Rennstrecken der Welt, sondern auch ein Synonym für "Lösen durch Probieren und Simulieren".
Simulieren Sie die Eingabe eines 2-jährigen Kindes, das wahllos auf das Brett klickt, durch Generierung von Zufallszahlen. man rand bietet genaues. Hier ein Kochrezept:
 

Während der Simulation empfiehlt es sich, die Bildschirmausgabe aus Performancegründen abzuschalten ... oder Sie warten sich ein Loch in den Bauch!
Speichern Sie die fünf letzten Züge ab, die zur Lösung des Problems führten und spielen Sie diese dann auf Tastendruck noch einmal ab. Was lernen Sie davon?