Einlesen der Ausgangssituation

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

GameOfLife.m2
PROCEDURE ReadWorld(input: FILE; VAR world: World;
                    VAR noflines,
                    nofcolumns: WorldSize) : BOOLEAN;
   VAR
      line, column: WorldSize;
      ch: CHAR;
BEGIN
   InitWorld(world);
   line := 0; column := 0;
   WHILE Fgetc(ch, input) DO
      IF ch = nl THEN
         INC(line); column := 0;
      ELSE
         IF (line = maxsize) OR (column = maxsize) THEN
            WriteString("Die Eingabe ist zu gross!");
            WriteLn; RETURN FALSE
         END;
         world[line, column] := ch; INC(column);
      END;
   END;
   IF (ORD(column) >= columns) OR (ORD(line) >= lines) THEN
      WriteString("Diese Welt ist zu gross fuer ...!");
      WriteLn;
      RETURN FALSE
   END;
   nofcolumns := maxsize; noflines := maxsize;
   IF ORD(nofcolumns) > columns THEN
      nofcolumns := columns
   END;
   (* die letzte Zeile wird fuer die Eingabe reserviert *)
   IF ORD(noflines) > lines-1 THEN noflines := lines-1 END;
   RETURN TRUE
END ReadWorld;

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