AD Teaching Wiki:

Projekt zur Vorlesung '''Programmieren in C++''' im Sommersemester 2018

Es gibt drei Projekte zur Auswahl:

Projekt 1: 橋をかけろ (das Spiel)

Projekt 2: 橋をかけろ (der Löser)

Projekt 3: Ein Projekt eigener Wahl (nur für Fortgeschrittene)

Im Folgenden eine detailliertere Beschreibung der drei Projekte

Projekt 1: 橋をかけろ (das Spiel)

Kurzbeschreibung: Das Spiel Hashiwokakero soll mit Konsolengrafik realisiert werden.

Hintergrund: Eine Online-Version des Spiels findet sich zum Beispiel hier: https://de.puzzle-bridges.com/ .

Anforderungen (Minimum): Folgende Anforderungen müssen für volle Punktzahl mindestens erfüllt sein

Anforderungen (optional): Hier ein paar Ideen für optionale Erweiterungen:

Projekt 2: 橋をかけろ (automatischer Löser)

Kurzbeschreibung: Ein Programm, das versucht eine gegebene Instanz zu lösen und dabei einfache Strategien verwendet um nicht nur Brute-Force zu nutzen, auch sollten unlösbare Instanzen effizienter als nur durch Probieren erkannt werden. Die im SVN unter public/projekt angegebenen Instanzen sollten dabei alle korrekt gelöst werden.

Hintergund: Grundlegende Techniken werden auf http://www.conceptispuzzles.com/de/index.aspx?uri=puzzle/hashi/techniques erklärt.

Anforderungen (Minimum): Folgende Anforderungen müssen mindestens erfüllt sein, um die volle Punktzahl erreichen zu können.

Anforderungen (optional): Hier ein paar Ideen für optionale Erweiterungen:

Formate für Projekt 1 und 2

Allgemein: Zeilen beginnend mit # sind Kommentare und müssen nicht vorkommen, bzw. können ignoriert werden.

.plain / .plain.solution

Die Instanz ist explizit gegeben, Dateiendung .plain:

# 7:7 (plain)
 1    2
2  5 1 
       
4  7  3
  2    
   2   
3 3 2 3

Für Lösungen Dateiendung .plain.solution:

 1----2
2==5-1|
   H  |
4==7--3
H 2H  |
H H2  |
3-3 2=3

.xy / .xy.solution

Für Instanzen .xy:

# 7:7 (xy)
# x,y,count
0,1,2
0,3,4
0,6,3
1,0,1
2,4,2
2,6,3
3,1,5
3,3,7
3,5,2
4,6,2
5,1,1
6,0,2
6,3,3
6,6,3

Für Lösungen .xy.solution (Koordinaten der angeklickten Inseln):

# (xy.solution)
# x1,y1,x2,y2
# Single bridge
1,0,6,0
# Double bridge
0,1,3,1
0,1,3,1
3,1,5,1
0,3,3,3
0,3,3,3
3,3,6,3
0,6,2,6
4,6,6,6
4,6,6,6
1,6,3,6
3,1,3,5
3,1,3,5
0,3,0,6
0,3,0,6
2,4,2,6
2,4,2,6
3,3,3,5
6,3,6,6

Projekt 3: ein Projekt eigener Wahl

Kurzbeschreibung: Ein Projekt eigener Wahl, das den beiden vorherigen von Umfang und Komplexität vergleichbar ist.

Hintergrund: Ihnen überlassen.

Anforderungen (Minimum):

AD Teaching Wiki: ProgrammierenCplusplusSS2018/Projekt (last edited 2018-07-29 16:01:58 by Axel Lehmann)