Schiffe versenken

In einer selbst gewählten Programmiersprache stellten sich die Studierenden der Aufgabe, das Spiel "Schiffe versenken" umzusetzen. Die Spieler setzen ihre Schiffe auf dem Spielfeld und versuchen, diese gegenseitig zu zerstören. Sieger ist, wer zuerst alle Schiffe des Gegners versenkt hat.

Am Projekt beteiligte Studenten

Ruben Anders, Fabian Ebner, Steffen Siegler

Betreuende/r DozentIn

Prof. Dr. Erik Zenner

Modul / Vorlesung

Programmierung WS 2012/2013

Lernziele

Entwicklung eines Spieles mit Hilfe einer bereits erlernten Programmiersprache

Software / Hardware

Programmiersprache C++

Projektbeschreibung

Beide Spieler können ihre Schiffe auf ihrem eigenen Spielfeld positionieren. Dazu musste eine geeignete Benutzersteuerung geschrieben werden. Der Spieler sieht während der Positionierungsphase sein aktuelles Spielbrett mit allen bereits positionierten Schiffen. In der Basisversion ist jeder Spieler selbst dafür verantwortlich, dass er seine Schiffe korrekt setzt. Die Schiffe müssen waagerecht oder senkrecht positioniert sein und dürfen einander nicht waagerecht oder senkrecht berühren (wohl aber diagonal).

Wenn beide Spieler ihre Schiffe positioniert haben, beginnt das eigentliche Spiel. Jeder Spieler darf im Wechsel auf ein Feld des Gegners „schießen“, von dem er vermutet, dass dort ein Schiff versteckt ist. Trifft er, so erhält er „Treffer!“ als Antwort. Ist durch den Treffer das letzte unbeschädigte Feld eines Schiffes getroffen worden, lautet die Antwort „Versenkt!“. Verfehlt er dagegen, so ist die Antwort „Wasser!“. Ein Spieler ist immer so lange dran, bis er sein Ziel verfehlt, danach ist sein Gegner dran.

Es gibt Symbole für versenkte Schiffe, für ein getroffenes, aber noch nicht versenktes Schiff, für ein Wasserfeld und für ein Feld, über das man noch nichts weiß.

Sieger ist, wer zuerst alle Schiffe des Gegners versenkt hat. Das Programm merkt selbständig, wann ein Spieler gewonnen hat, um ihm den Sieg zu gratulieren.

Das Spiel könnt ihr hier downloaden.

X

Wähle einen Studiengang