Size: 1395
Comment:
|
Size: 3443
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 21: | Line 21: |
'''Anforderungen:''' Hier die Minimalanforderungen | '''Anforderungen (Minimum):''' Folgende Anforderungen müssen für volle Punktzahl mindestens erfüllt sein * Ein Zustand des Spiels soll mit einer Klasse ''MineSweeperState'' realisiert werden, die eine Unterklasse der auf dem Wiki verlinkten abstrakten Klasse ''MineSweeperStateBast'' ist. |
Line 31: | Line 33: |
Hier ein paar optionale Erweiterungen: | '''Anforderungen (optional):''' Hier ein paar Ideen für optionale Erweiterungen: |
Line 37: | Line 39: |
== Projekt 2: Minesweeper (automatischer Löser) == '''Kurzbeschreibung:''' Ein Programm, dass ein beliebiges gegebens Minesweeper Spiel von Anfang bis Ende automatisch durchspielt. Die Strategie sollte dabei so gut sein, dass sie unter bestimmten Bedinungen (siehe Anforderungen unten) mindestens die Hälfte aller Spiele erfolgreich löst. '''Hintergund:''' Einfach ein paar Mal Minesweeper spielen und sich allgemeine Lösungsstrategien überlegen. Es gibt dazu auch viel Material auf dem Netz, von sehr einfach bis sehr tief. '''Anforderungen (Minimum):''' Folgende Anforderungen müssen für volle Punktzahl mindestens erfüllt sein * Ein Zustand des Spiels soll mit einer Klasse ''MineSweeperState'' realisiert werden, die eine Unterklasse der auf dem Wiki verlinkten abstrakten Klasse ''MineSweeperStateBast'' ist. * Die Schritte des Lösers und der jeweilige Zustand des Spiels sollen visualisiert werden. Sie können dazu auf die auf dem Wiki bereitgestelle libms Bibliothek zurückgreifen (malt den aktuellen Zustand auf die Konsole). * Es sollen mindestens fünf prinzipiell verschiedene Strategien für den nächsten Zug implementiert sein. Beispiele für solche Strategien wurden in Vorlesung 11 vorgestellt. * Für ein 9 x 9 Spiel mit 10 zufällig gesetzten Minen soll das Programm von 100 Spielen mindestens 50 gewinnen. * Für ein 16 x 16 Spiel mit 40 zufällig gesetzten Minen soll das Programm von 100 Spielen mindestens 10 gewinnen.# '''Anforderungen (optional):''' Hier ein paar Ideen für optionale Erweiterungen: * Alle möglichen fortgeschritteneren Strategien. * Ansprechendere Grafik als in der gegebenen libms. |
|
Line 42: | Line 67: |
:''' Das Spiel Minesweeper soll mit Konsolengrafik realisiert werden. |
Projekt zur Vorlesung '''Programmieren in C++''' im Sommersemester 2014
Es gibt drei Projekte zur Auswahl:
Projekt 1: Minesweeper (das Spiel)
Projekt 2: Minesweeper (der Löser)
Projekt 3: Ein Projekt eigener Wahl (nur für Fortgeschrittene)
Im Folgendenden eine detaillierter eBeschreibung der drei Projekte
Projekt 1: Minesweeper (das Spiel)
Kurzbeschreibung: Das Spiel Minesweeper soll mit Konsolengrafik realisiert werden.
Hintergrund: Eine voll-funktionale Online-Version des Spiels findet sich zum Beispiel hier: http://minesweeperonline.com .
Anforderungen (Minimum): Folgende Anforderungen müssen für volle Punktzahl mindestens erfüllt sein
Ein Zustand des Spiels soll mit einer Klasse MineSweeperState realisiert werden, die eine Unterklasse der auf dem Wiki verlinkten abstrakten Klasse MineSweeperStateBast ist.
- Konsolengrafik (möglichst übersichtlich)
- Bedienung über die Maus oder alternativ über die Tastatur.
- Dimension des Spielfeldes (Anzahl Reihen und Spalten) und Anzahl der Minen frei wählbar. Entweder über Kommandozeilenargumente, oder im Programm selber.
Volle Funktionalität, wie auf http://minesweeperonline.com . Insbesondere sollen, falls eine Zelle aufgedeckt wird, die keine Minen in der Nachbarschaft hat, alle Zellen in der Nachbarschaft automatisch mitaufgedeckt werden, usw. wenn da auch wieder eine Zelle dabei ist, die keine Minen in der Nachbarschaft hat.
Anforderungen (optional): Hier ein paar Ideen für optionale Erweiterungen:
- Besondere grafische Effekte
- High Score
Projekt 2: Minesweeper (automatischer Löser)
Kurzbeschreibung: Ein Programm, dass ein beliebiges gegebens Minesweeper Spiel von Anfang bis Ende automatisch durchspielt. Die Strategie sollte dabei so gut sein, dass sie unter bestimmten Bedinungen (siehe Anforderungen unten) mindestens die Hälfte aller Spiele erfolgreich löst.
Hintergund: Einfach ein paar Mal Minesweeper spielen und sich allgemeine Lösungsstrategien überlegen. Es gibt dazu auch viel Material auf dem Netz, von sehr einfach bis sehr tief.
Anforderungen (Minimum): Folgende Anforderungen müssen für volle Punktzahl mindestens erfüllt sein
Ein Zustand des Spiels soll mit einer Klasse MineSweeperState realisiert werden, die eine Unterklasse der auf dem Wiki verlinkten abstrakten Klasse MineSweeperStateBast ist.
- Die Schritte des Lösers und der jeweilige Zustand des Spiels sollen visualisiert werden. Sie können dazu auf die auf dem Wiki bereitgestelle libms Bibliothek zurückgreifen (malt den aktuellen Zustand auf die Konsole).
- Es sollen mindestens fünf prinzipiell verschiedene Strategien für den nächsten Zug implementiert sein. Beispiele für solche Strategien wurden in Vorlesung 11 vorgestellt.
* Für ein 9 x 9 Spiel mit 10 zufällig gesetzten Minen soll das Programm von 100 Spielen mindestens 50 gewinnen.
* Für ein 16 x 16 Spiel mit 40 zufällig gesetzten Minen soll das Programm von 100 Spielen mindestens 10 gewinnen.#
Anforderungen (optional): Hier ein paar Ideen für optionale Erweiterungen:
- Alle möglichen fortgeschritteneren Strategien.
- Ansprechendere Grafik als in der gegebenen libms.
: Das Spiel Minesweeper soll mit Konsolengrafik realisiert werden.