KLIC Programming Contest 97
Parallel Processing Section: "John Conway's Game of Life" Sample Program
1997/07/30
KLIC Programming Contest Secretariat
(1) Files in this distribution
Following files are included in this distribution.
README.e This file
README Japanese version
main.kl1 Main Routine of The Game of Life in KL1
(For debugging aids)
Makefile Makefile, which describes the procedure of compilation
test/ Directory which includes the testing environment
test/Makefile Makefile for test
test/*.life Sample input files
test/outputs/*.out Outputs of sample inputs
game/ Graphical User Interface and other program
so that you can enjoy The Game of Life
(2) Usage of Main Routine and The Testing Environment
Please implement life:compute/3 in the file "life.kl1", and place it
in the directory where this "README.e" resides.
Using the "make" utility, you can build the executable "life" and test
your program.
(2.1) Makefile
In the "Makefile", the procedure of compilation and invocation of test
is described. Please edit some parameters such as KLIC and/or KFLAGS
if needed.
(2.2) Main routine "main.kl1"
The file "main.kl1" includes the main routine. It's offered for
debugging aids. (It is not necessarily means that it is used for
evaluation.)
(2.3) Building the executable "life"
Typing
% make
builds the executable "life" from the source files of "main.kl1" and
"life.kl1".
(2.4) Usage of the executable "life"
You can invoke the executable "life" in two forms:
% life
will get input from standard input, when it is invoked with no
argument, while
% life {file-name}
will get input from the file {file-name}, when the file is specified as
argument.
(2.4.1) Input Format
The format of input is the term of KL1 followed by the period. The
structure of term is the functor of:
life(HowManyGenerations,PointList)
where HowManyGenerations specifies the number of generations, and
PointList specifies the list of "on" cell sorted in ascending order.
(p(X0,Y0) < p(X1,Y1) iff Y0