Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, SAI

WS 97/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen || Lösung 6

DEFINITION Dungeons


(*
 *	Entwicklung objekt-orientierter Bibliotheken, Aufgabe 12
 *
 *	Datenstruktur fuer Spiel mit gerichteten Graphen.
 *)
DEFINITION Dungeons;

   IMPORT
      ConstStrings, Disciplines, Iterators;

   TYPE
      Name = ConstStrings.String;

      Place = POINTER TO PlaceRec;
      PlaceRec =
	 RECORD
	    (Disciplines.ObjectRec)
	 END;

      Dungeon = POINTER TO DungeonRec;
      DungeonRec =
	 RECORD
	    (Disciplines.ObjectRec)
	 END;

   PROCEDURE Create(VAR d: Dungeon);

   PROCEDURE GetOrCreatePlace(d: Dungeon; name: Name; VAR place: Place);

   PROCEDURE GetPlace(d: Dungeon; name: Name; VAR place: Place): BOOLEAN;

   PROCEDURE AddLink(source, target: Place; label: Name);

   PROCEDURE RemoveLink(source: Place; label: Name);

   PROCEDURE GetLink(source: Place; label: Name;
		     VAR tname: Name; VAR target: Place): BOOLEAN;

   PROCEDURE GetLinks(source: Place; VAR it: Iterators.Iterator);
      (* iterator supplies labels, type Name *)

END Dungeons.

WS 97/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen || Lösung 6

Martin Hasch, 5. Dezember 1997