Dr. Matthias Grabert Abteilung Angewandte Informationsverarbeitung 8. Juni 2004
Claudia Fischer Blatt 5


Uni Logo



C++ mit Data Mining Anwendungen (SS 2004)


Abgabetermin: 17. Juni 2004

Bestimmt kennen Sie alle das Kartenspiel Uno. Sie sollen ein Programm schreiben, mit dem man Uno gegen drei Computergegner spielen kann. Gehen Sie dabei wie folgt vor:

Karten (5 Punkte)

In einem Unospiel gibt es folgende Karten: Schreiben Sie eine Klasse für Spielkarten. Es sollten neben dem Konstruktor noch zwei Methoden existieren: Eine Ausgabefunktion und eine Methode, die überprüft, ob es erlaubt ist, eine Karte auf eine andere abzulegen. Dies ist der Fall, wenn die zwei Karten entweder den gleichen Wert oder die gleiche Farbe haben. Außerdem werden Methoden benötigt, die den Wert bzw. die Farbe der Karte zurück liefern.

Stapel (5 Punkte)

Um Uno zu spielen, benötigt man zwei Kartenstapel: einen Ablagestapel und einen Stapel von dem gezogen wird. Implementieren Sie deswegen nun eine Klasse für Kartenstapel. Da der Ablagestapel am Anfang des Spiels leer ist, wohingegen sich im anderen Stapel alle Karten befinden sollten, benötigen Sie zwei Konstruktoren. Außerdem sollen Sie einen Methode schreiben, die eine Karte 'zufällig' aus einem Stapel zieht und eine Methode, die eine Karte auf einen Stapel ablegt. Schreiben Sie dann noch eine Funktion, die überprüft, ob ein Stapel leer ist.

Uno (10 Punkte)

Nun kommen wir zum eigentlichen Spiel. Hier noch einmal die Regeln: Sie sollen also nun ein Programm implementieren, mit dem man dieses vereinfachte Uno gegen drei Computergegener spielen kann. Ein Computerspieler legt dabei immer die erste Karte aus seiner Hand, die er spielen darf. Beachten Sie bitte auch, dass der Ablagestapel unter den anderen Kartenstapel 'gemischelt' werden soll, falls keine Karten mehr zum Ziehen vorhanden sind.

Sonderkarten* (5 Punkte)

Damit das Spiel noch etwas reizvoller wird, wollen wir nun auch noch einige der Sonderkarten in unser Programm aufnehmen. In jedem Unospiel existieren für jede Farbe zwei der folgenden Sonderkarten:


Viel Erfolg!



Claudia Fischer 2004-06-08