Aufbau eines Projektes
Ok. Wie sollte ein Projekt aussehen? Gut strukturiert. ;-)
Eingebürgert hat sich eine Unterteilung nach Items, NPCs und Räumen. Hier das Beispiel eines Verzeichnisses mit minimaler Struktur: |
>cd katapult /players/sunrise/katapult >ls /players/sunrise/katapult: 4 files/directories files.h mon/ room/ obj/ >more files.h #define HOME(x) "/players/sunrise/katapult/"x #define ROOM(x) HOME("room/")x #define MON(x) HOME("mon/")x #define OBJ(x) HOME("obj/")x >cd mon /players/sunrise/katapult/mon >ls /players/sunrise/katapult/mon: 3 files/directories holzkopf.c hummel.c wachholzkopf.c >cd ../obj /players/sunrise/katapult/obj >ls /players/sunrise/katapult/obj: 5 files/directories katapult.c schild.c sonnenblumenkern.c lappen.c sonnenblume.c >cd ../room /players/sunrise/katapult/room >ls /players/sunrise/katapult/room: 6 files/directories huegel.c luft.c weg1.c weg2.c weg3.c weg4.c |
Nochmal zur Erinnerung: |
cd ... wechselt das Verzeichnis ls ... zeigt dessen Inhalt an more ... zeigt den Inhalt einer Datei an |
Das files.h stellt Dir Makros (wie Aliase) zur Verfügung, mit denen Du ohne größere Probleme auf Teilbereiche Deines Projektes zugreifen kannst. Ausschnitt aus weg2.c |
#include "../files.h" void create() { ... AddExit("norden", ROOM("weg3")); AddItem(MON("hummel"), REFRESH_DESTRUCT); AddItem(OBJ("lappen"), REFRESH_REMOVE); } |
Du siehst, mit dem Makro ROOM aus dem files.h kann ich den Ausgang angeben, ohne den kompletten Pfad hinschreiben zu müssen. Und mit den Makros MON und OBJ kann ich selbiges bei AddItem tun. |
Start » Magierhandbuch » Dokumentation » Programmierbeispiele » Projektstruktur | |