OPTION (1) BC; TITLE GAME OF LIFE - PREAMBLE FILE VERSION 1.1 (e)(g), 6-JUN-88 ; % "Boolean" values % LET BOOLEAN = INT; LET UNKNOWN = 1; LET FALSE = 0; LET TRUE = -1; % Animal definitions % LET ANIMAL = BYTE ; LET PATTERN = REF ARRAY ANIMAL ; % Topology values % LET TOPOLOGY = INT; LET NTOPOLS = 6; % Number of topology values % LET PLANE = 1; LET CYLINDER = 2; LET MOEBIUS = 3; LET TORUS = 4; LET KLEIN = 5; LET REALPLANE= 6; % Useful shorthand % LET NL = 10; % Newline % LET VT = 11; % Vertical Tab (flushes output buffer) % LET DOL = 36; % '$' character % LET RAB = REF ARRAY BYTE; % Details of each "cell" in the "world" % MODE CELL (INT TOTAL, ANIMAL OCCUPANT, % Species of cell occupant % ARRAY (8) REF CELL NEIGHBOURS % All neighbouring cells % ); % Standard RTL/2 SVC Data bricks % %--------------------------------% SVC DATA RRERR; LABEL ERL; INT ERN; PROC (INT) ERP; ENDDATA; SVC DATA RRSIO; PROC () BYTE IN; PROC (BYTE) OUT; ENDDATA; SVC DATA RRSED; BYTE TERMCH, IOFLAG; ENDDATA; % Input/Output procedures in LIFE2.RTL % %--------------------------------------% EXT PROC () CLEARSCREEN; EXT PROC () DISABLERV; EXT PROC () ENABLERV; EXT PROC (INT,INT) FIXCURSOR; EXT PROC (RAB) INT GETINTEGER; EXT PROC (RAB) BOOLEAN YESNOQUESTION; % Pattern store in LIFE3.RTL % %----------------------------% EXT PROC () EDIT; EXT PROC (TOPOLOGY) JOINEDGES; EXT PROC () LOAD; EXT PROC (INT) BOOLEAN NEWWORLD; % (g) % EXT PROC () INPATTERNFILE; % (e) % EXT PROC () OUTPATTERNFILE; % (e) % EXT PROC () SAVE; % Standard RTL/2 Input/Output procedures % %----------------------------------------% EXT PROC () INT IREAD; EXT PROC (INT) IWRT; EXT PROC (INT) SPS; EXT PROC (RAB) TWRT ; %------------------------------------------------------------------------------%