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:
-
Zaubersprüche (Zauberbuch) für diverse Aktionen (Kampf, Reparatur
von Gegenständen)
-
Beschränkung des Fassungsvermögen des Rucksacks (Rucksackproblem)
-
Graphikorientierte Ausgabe statt textorientierte Ausgabe
-
wandernde Monster
-
Laden und Speichern von Spielsituationen
-
zusätzliche Wände und Türen im Spielfeld
-
"Tiefe Löcher", die die Gegenstände und den Held beschädigen
-
Heiltrank zur Regeneration des Helden
-
Gezielte Auswahl von Gegenständen, die in den Kampf einbezogen werden
sollen.
-
Ablegen eines Gegenstandes, um Platz im Rucksack zu schaffen.
-
Monster tragen Gegenstände, die nach ihrem Tod in den Besitz des Helden
gehen
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
Version 0.5 (Prototyp)
-
Ein- und Ausgabe erfolgen in einem DOS-Fenster.
-
Beschränkung auf 7 Gegenstände und 7 Monster.
-
Alle Gegenstände, Monster und der Ausgang sind sofort sichtbar.
-
Aus dem Kampf ergibt sich der neue Status der beteiligten Objekte.
-
Monster treten immer an derselben Stelle auf, jedoch wechselt der Monstertyp.
-
Der Kampf ist rundenbasiert, wobei der Held nach jeder Runde die Chance
zur Flucht erhält.
Version 1
-
Gegenstände, Monster und der Ausgang sind bei Spielbeginn unsichtbar
-
Der Ausgang erscheint automatisch, wenn alle Monster tot sind.
Version 2 (Realisierung von genannten Erweiterungsmöglichkeiten)
-
"Tiefe" Löcher, die u.a. die Gegenstände im Rucksack beschädigen.
-
Heiltrank
-
Ein- und Ausgabe erfolgen in Windows-Fenstern.
-
Monster tragen Gegenstände, die zu erbeuten sind.
Version 4
-
Begrenzung des Fassungsvermögen des Rucksacks anhand von Wert und
Gewicht der Gegenstände.
Projektorganisation
-
Projektleitung und Verantwortung: MT
-
Sitzungsleitung: n.n
-
Protokolle: n1, n2, n3
-
Dokumentation: n.n.
-
Projektsekretär: nicht erforderlich
-
Projektordner: http://www.hyfisch.de
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
-
Das Rucksack-Problem und mögliche Lösungen.
-
Organisation von Projekten
-
Erstellung einer Anforderungsdefiniton
-
Erstellung eines objektorientierten Entwurfs
-
Gezieltes Testen von Programen
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:
|
|
|