Einlesen eines Labyrinths VII

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

PathFinder.m2
IF (width < minsize) OR (height < minsize) THEN
   WriteString("Labyrinth ist zu klein!"); WriteLn;
   RETURN FALSE
ELSIF spaceSeen THEN
   WriteString("Bitte keinen Ausgang in der letzten Zeile!");
   WriteLn; RETURN FALSE
ELSIF ~entryFound THEN
   WriteString("Keinen Eingang gefunden!"); WriteLn;
   RETURN FALSE
ELSIF ~exitFound THEN
   WriteString("Keinen Ausgang gefunden!"); WriteLn;
   RETURN FALSE
ELSIF maze[entry, 1] # space THEN
   WriteString("Eingang ist verbarrikadiert!"); WriteLn;
   RETURN FALSE
END;
IF column # 0 THEN
   WriteString("Das Ende der letzten Zeile wird vermisst!");
   WriteLn;
   RETURN FALSE
END;
RETURN TRUE

*Eine Reihe weiterer Kontrollen sind nach dem Eingabe-Ende erforderlich.
 
*Insbesondere wird überprüft, ob auch ein minimaler Bewegungsspielraum vorhanden ist, damit SolveMaze den Rand auch beim Start nicht besonders berücksichtigen muß.
 

 [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 04.02.1999