Suche Home Einstellungen Anmelden Hilfe  

Projekt "Dungeon"

Aufgabenstellung

Ein Adventure-Spiel besteht im Wesentlichen aus einem labyrinth-artigen Wegesystem (Dungeon) und einem Helden. Der mutige Held durchläuft den Dungeon und sucht verzweifelt den Ausgang. Dabei trifft der Held auf Monster, die er bekämpfen muss, und Gegenstände, die ihm helfen, seine Mission zu erfüllen.  Gegenstände, die der Held im Dungeon findet, kann er mitnehmen, um gegen Monster erfolgreicher kämpfen zu können. Einige Gegenstände liegen irgendwo im Dungeon versteckt, andere werden von Monstern getragen und nach ihrem Ableben erbeutet. Natürlich weiss der Held nicht, was ihn bei jedem Schritt im Dungeon erwartet. Ziel ist es, den Ausgang lebend zu ereichen.

Man schreibe ein Programm, das ein Adventure realisiert.


Anforderungsdefinition

Istanalyse

Problemanalyse
Adventures zählen zu den beliebtesten Computerspielen. Die ersten Adventures basierten nur auf Texteingaben und -ausgaben. Heutige Adventures warten mit aufwendig programmierter dreidimensionaler, realistischer Grafik, Tonuntermalung und anderen Funktionalitäten auf. Das Grundprinzip ist  jedoch meist gleich geblieben.
Ein Held bewegt sich durch einen Dschungel oder einen Kerker (dungeon) auf der Suche nach  Gegenständen und dem Ausgang. In der Regel findet der Held den Ausgang erst, wenn er alle Hindernisse bewältigt hat. Hindernisse treten meist in Form von Monstern oder tiefen Löchern auf. Monster muss der Held bekämpfen. Dazu besitzt oder sammelt er entsprechende Gegenstände, die seine Kampfkraft erhöhen und/oder seine Rüstung verstärken. Jeder Kampf schwächt sowohl den Helden als auch das Monster. Der Fall in ein "Loch" beschädigt zusätzlich die Gegenstände im Rucksack. Der Held kann sich meist durch die Einnahme eines Heiltranks etwas erholen.
Auf diesem Grundprinzip bauen alle weiteren Funktionen von Adventure-Spielen auf.

Produkt-Einsatz (Anwendungsbereich und Benutzergruppen)
Das Programm wird Schülern der Unter- und Mittelstufe für Vertretungsstunden oder sonstigem Zeitvertreib zur Verfügung gestellt und kann über die Schul-Homepage geladen werden.


Kurzbeschreibung

Knuth, der Recke, wurde von seinen Feinden in einen Kerker geworfen. Es gelang ihm sich zu befreien und nun irrt er durch die Gänge des Verlieses auf der Suche nach dem Ausgang. Auf seinem Weg wird er immer wieder von Monstern angegriffen, die er mit Hilfe seiner Waffen, geschützt durch seine Rüstung und unter Einsatz von Heiltränken bekämpft.


Sollkonzept

a) Systemziele

Das System realisiert ein textorientiertes Adventure-Spiel, bestehend aus einem Helden, Monstern, Gegenständen und einem 40*20 Felder grossen Dungeon. Der Dungeon ist von Wänden vollständig umgeben, so dass das eigentliche Spielfeld nur 38*18 Felder gross ist. Der Held kann sich in alle vier Himmelsrichtungen bewegen, sofern diese nicht durch eine Wand versperrt sind. Monster und Gegenstände  werden erst sichtbar, wenn der Held die entsprechenden Felder besucht. Sind alle Monster getötet, wird der Ausgang sichtbar.

Der Held trägt einen Rucksack, der zunächst nicht mehr als 20 Gegenstände fasst. Findet der Held einen Gegenstand, kann er diesen in seinen Rucksack aufnehmen. Gegenstände können die Rüstung  und die Angriffsstärke des Helden beeinflussen und damit den Kampfwert des Helden erhöhen. Rüstungswert und Angriffswert werden in Prozent angegeben. Je höher der Kampfwert, desto geringer die Wahrscheinlichkeit, dass der Held (oder das Monster) Lebenspunkte abgeben muss.

Das Auftreten der Monster erfolgt an - bei Spielbeginn zufällig festgelegten - Orten. Trifft der Held auf ein Monster, findet ein Kampf statt, dessen Ergebnis (Schaden für den Gegner) sich aus dem Kampfwert des Monsters bzw. des Helden ergibt. Bricht der Held einen Kampf vorzeitig ab, ist nicht garantiert, dass er an dem selben Ort, das gleiche Monster wieder trifft.
Die Anzahl der Gegenstände im Spiel ist auf 30, die der Monster auf 10 beschränkt. Monster tragen keine Gegenstände.

b) Benutzermodell

Der Benutzer ist in der Lage, auf einem Windows-Rechner ein Programm in einem DOS -Fenster zu starten und dort das Adventure-Programm mit dem Namen "adventu.exe" aufzurufen. Er kann Eingaben gemäß den Angaben der Benutzungsschnittstelle vornehmen. Weiter wird vorausgesetzt, daß der Benutzer die üblichen Funktionen der Bedienung eines Rechners beherrscht, darunter das Ein- und Ausschalten des Rechners, das Anlegen von Dateien und Verzeichnissen, das Starten von Programmen, das Verschieben oder Kopieren von Dateien.
Weitergehende Kenntnisse des Betriebssystems oder der verwendeten Programmiersprache sind nicht erforderlich.

c) Basismaschine

Das System arbeitet im Dialog und benötigt zum Ablauf neben Zentraleinheit (PC) eine Tastatur (mit numerischem Tastenfeld) und einen Bildschirm. Es bestehen keine besonderen Anforderungen an Intern- und Externspeicher sowie Prozessorleistung. Das Programm ist für eine Textdarstellung mit 80*21 Zeichen optimiert.  Weitere spezielle Hard- oder Softwareanforderungen bestehen nicht.

d) Benutzungsschnittstelle

Bildschirme und Fenster
Das Programm zeigt in einem Fenster den Dungeon als Textfeld von 40*20 Zeichen an. Auf den äußeren Feldern befindet sich der Buchstabe W für Wand, so dass 38*18 Felder als Spielfläche verbleiben. Der Held wird mit dem Buchstaben H gekennzeichnet. Die Außenwände und der Held sind stets sichtbar. Monster und Gegenstände werden erst "sichtbar", wenn der Held das entsprechende Feld besucht hat. Hat der Held ein Monster erfolgreich bekämpft, wird die auf dem Feld verbleibende Leiche mit L gekennzeichnet. Noch nicht besuchte Felder werden durch einen Punkt "." gekennzeichnet.

In einem rechts zum Dungeon befindlichen zweiten Textfeld erfolgen situationsabhängig die Textausgaben. Läuft der Held gegen eine Wand, erfolgt ein Aufschrei des Schmerzens in der Textausgabe. Das Aufeinandertreffen von Held und Monster wird ebenso wie das Finden eines Gegenstandes und der Status von Gegenständen angezeigt.

Der Status des Helden Knuth wird während des Bewegens im Dungeon unterhalb dieses Textfeldes angezeigt. Läuft der Held gegen eine Wand, erfolgt ein Aufschrei des Schmerzens in der Textausgabe.Dabei werden der Lebensstatus L, der Angriffswert A und der Rüstungswert R angezeigt. Läuft der Held gegen eine Wand, erfolgt ein Aufschrei des Schmerzes in der Textausgabe.

Das genaue Format der Textausgaben wird den entsprechenden Projektgruppen während der Entwurfsphase überlassen.

Steuerung des Systems durch den Benutzer
Die Steuerung des Programms erfolgt über die Tastatur. Der Held wird mit den Tasten 2, 4, 6 und 8 des numerischen Eingabefeldes bewegt. Die Tasten f und k werden innerhalb eines Kampfes zur Flucht bzw. zur Kampffortsetzung verwendet.
 

e) Erweiterungsmöglichkeiten

Folgende Ausbaumöglichkeiten des Produkts sind denkbar:


Vorbereitungen/Vorüberlegungen

1. Bestandteile des Programms

Das Programm besteht aus der Datei "adventu.exe" für MS-DOS/Windows-Rechner und den zugehörigen Quelldateien für den FreePascalCompiler und Kompatible.

2. Start des Programms

Der Start des Programms erfolgt entweder in einem MS-DOS Fenster durch Eingabe des Namen "adventu.exe" oder über den Windows-Explorer durch doppeltes Anklicken des Namen "adventu.exe" mit der linken Maustaste.

3. Eingaben

Es sind keine besonderen Eingaben geplant, abgesehen von der oben beschriebenen Steuerung des Systems durch den Benutzer und der Möglichkeit den Ablauf vorzeitig mit der Taste s zu beenden.

4. Programmablauf

Nach Start des Programms wird der Dungeon auf dem Bildschirm angezeigt und der Benutzer kann den Helden durch den Dungeon bewegen. Kommt der Held auf ein Feld mit einem Gegenstand, kann er diesen aufnehmen. Sein Angriffswert und Rüstungswert wird entsprechend neu berechnet. Trifft er auf ein Feld mit einem Monster, wird eines der noch lebenden Monster ausgewürfelt und der Held kämpft gegen das Monster. Abhängig vom jeweiligen Rüstungswert und Angriffswert wird ein Kampfwert berechnet. Zuerst fügt der Held dem Monster einen Schaden zu, anschließend das Monster dem Helden. Nach der ersten Kampfrunde kann der Held entscheiden, ob er eine weitere Runde kämpfen will (Taste k), oder sich zunächst zurückzieht, um Kräfte zu sammeln (Taste f). Zur Entscheidungsfindung werden der Status des Helden und des Monsters vor und nach dem Kampf angezeigt. Der Bildschirm wird nach jeder Situationsänderung aktualisiert.

5. Beendigung des Programms

Das Programm kann, außer während einer Situationsauswertung (Kampf, Gegenstand gefunden), jederzeit mit der Taste s beendet werden.

6. Fehlersituationen

Im Programm sind keine Fehlersituationen oder -meldungen vorgesehen. Evtl. auftretende Fehlermeldungen stammen entweder vom Betriebssystem des vorliegenden Rechners oder anderen auf dem Rechner ablaufenden Programmen. Erforderliche Gegenmaßnahmen des Benutzers auf solche Fehlermeldungen können den zugehörigen Handbüchern oder Hilfefunktionen entnommen werden.

Literatur

[hel00] Ulrich Helmich, Objektorientierte Erstellung eines Textadventure-Spiels in http://didaktik.cs.uni-potsdam.de/HyFISCH/Informieren/Programmiersprachen
[ott98] Prinzipien des Algorithmenentwurf. Stichwort: Das Rucksackproblem
[dud97] Schüler Duden Informatik - Stichwort "Software-Engineering"


Durchführbarkeitsstudie

Geplanter Zeitbedarf und übrige benötigte Ressourcen liegen im Rahmen der erwarteten Anforderungen.
Die zur Entwicklung notwendige Software ist kostenlos erhältlich.
Auf Grundlage dieser Überlegungen wird entschieden, das Projekt durchzuführen.


Projektplanung

Vor Erstellung der Version gemäß dem Sollkonzept, wird ein experimenteller Prototyp zur Demonstration entworfen.

Vereinbarte Annahmen für

Projektorganisation Entwicklungsumgebung
Als Compiler wird
a) FreePascal in der Version 1.01 unter MS-DOS für Windows verwendet. Das Betriebssystem ist Windows98SE.
b) Java SDK1.3 und eine Java-Editor für Windows verwendet.

Die Dokumentation erfolgt als HTML-Seite mit dem Netscape-Composer Version 4.7.

Die Entwicklung und Compilierung wird auf einem Pentium II-System mit 128MB-Ram mit 21"-Zoll Monitor, Tastatur und Maus durchgeführt.

Referate

Termine
Der Entwurf soll bis Samstag, 13 Uhr zur Diskussion vorliegen.
Die Implementierung und Funktionsüberprüfung soll bis Dezember abgeschlossen sein.

Benutzer: gast • Besitzer: mthomas • Zuletzt geändert am: