Dr. Matthias Grabert Abteilung Angewandte Informationsverarbeitung 22. Juni 2002
Christian Ehrhardt Blatt 9


Uni Logo



Systemnahe Software (SS 2002)


Abgabetermin 2.7.2002

ncurses (10 Punkte)

ncurses ist eine Bibliothek, mit der textbasierte, bildschirmorientierte Ausgabe auf einem Terminal unabhängig vom Typ des Terminals realisiert werden kann. Bildschirmorientierte Ausgabe heißt, daß jedes Zeichen auf dem Terminal mit seinen Koordinaten angesprochen und verändert werden kann. Eine Einführung zu ncurses gibt es auf der Manualseite ncurses (3X) bzw. ncurses (3NCURSES). Es empfiehlt sich, diese Manualseite und die wichtigsten zugehörigen Manualseiten zu lesen. Dennoch hier eine kurze Zusammenfassung der wichtigsten Funktionen:

Die Aufgabe

Schreibt ein Programm, das aus einer normalen Datei einen Kalaha-Spielstand einließt. Das Einlesen sollte so gehalten sein, daß es zur Ausgabe eines Spielstandes, wie Sie Euer Server von Blatt 8 erzeugt, paßt. Anschließend soll der eingelesene Spielstand mit Hilfe der ncurses-Bibliothek auf dem Bildschirm so dargestellt werden, daß der Bildschirm dem Spielbrett nachempfunden ist. Ein Beispiel, wie die Anzeige eines Spielstands mit A1=5, A2=3, A3=2, A4=15, A5=0, A6=5, A7=18, B1=1, B2=0, B3=11, B4=3, B5=3, B6=2, B7=4 und Spieler B am Zug aussehen könnte, ist bei den Beispielen zu dieser Übungsaufgabe auf der Homepage der Vorlesung zu finden. Natürlich gibt es auch noch jede Menge Möglichkeiten, mit Hilfe von Farben, Linien usw. eine noch ansprechendere Darstellung zu finden.
Zum Schluß soll ein Zug von der Tastatur eingelesen und (ebenfalls mit Hilfe von ncurses) ausgegeben werden. Im Beispiel oben würde es sich anbieten, den Text ``Last Move A5'' durch entsprechend zu ersetzen. Nach einem weiteren Tastendruck soll sich das Programm dann beenden.
Im Hinblick auf das nächste Blatt könnte es hilfreich sein, für die beiden Aufgaben ``Einlesen eines Spielstands aus einer Datei'' und ``Darstellen eines Spielstands am Bildschirm'' je eine eigene Funktion zu schreiben.

Hallo Mausfans (5 Zusatzpunkte)

Wenn Euer Programm zusätzlich in der Lage ist, einen Doppelklick auf eine Mulde als Zug zu erkennen, dann gibt es 5 Zusatzpunkte. Ein Blick auf die Manualseite getmouse könnte hierbei helfen.

Hinweise



Christian Ehrhardt 2002-06-22