|
PathFinder.m2 |
PROCEDURE ReadMaze(input: FILE; VAR maze: Maze; VAR width, height: MazeSize; VAR entry, exit: MazeIndex) : BOOLEAN; VAR line, column: MazeSize; ch: CHAR; (* zuletzt eingelesenes Zeichen *) BEGIN line := 0; column := 0; width := 0; WHILE Fgetc(ch, input) DO IF ch = nl THEN INC(line); column := 0; ELSE maze[line, column] := ch; INC(column); END; END; height := line; width := column; RETURN TRUE END ReadMaze; |
So einfach könnte das Einlesen eines Labyrinths sein,
wenn auf Überprüfungen verzichtet wird.
| |
Ein Teil der Überprüfungen und die Ermittlung von
Ein- und Ausgang könnte wirklich auf später verschoben
werden. Einige Überprüfungen (wie die Einhaltung der
maximalen Seitenlängen) müssen jedoch in jedem Fall
beim Einlesen durchgeführt werden.
| |
Dieser erster Entwurf verzichtet noch auf die
Bestimmung von entry und exit.
|
Copyright © 1999 Andreas Borchert, in HTML konvertiert am 04.02.1999 |