Einlesen eines Labyrinths IV

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

PathFinder.m2
WHILE Fgetc(ch, input) DO
   IF ch = nl THEN
      IF line = 0 THEN
         IF column < minsize THEN
            WriteString("Labyrinth ist zu klein!");
            WriteLn;
            RETURN FALSE
         END;
         width := column;
      ELSIF column # width THEN
         WriteString("Das Labyrinth ist nicht rechteckig!");
         WriteLn;
         RETURN FALSE
      END;
      INC(line); column := 0;
   ELSE
      (* ... *)
   END;
END;

*Beim Zeilenende ist darauf zu achten, daß alle Zeilen gleich lang sind.
 
*Bei der ersten Zeile fällt diese Überprüfung weg. Dafür wird hier auf die Mindestlänge von minsize geachtet.
 
*Entgegen dem Entwurf wird gleich in der 1. Zeile width gesetzt (damit für die weiteren Zeilen der Vergleichswert vorliegt).
 

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