If we are running the game of life and an interesting configuration appears on screen we'd like to be able to store it to disk. Later we'd like to be able to restore it from disk and use it to initialize the universe. A run of our program might look like this,
================================
Welcome to Conway's Game of Life
--------------------------------
Initialize (r) randomly or (f) from file? r
Number of rows in universe? 8
Number of columns in universe? 8
Initial percentage of live cells? 42
@ @ - @ @ @ @ @
- @ @ @ - - - -
- - - - @ - @ @
@ @ - @ @ @ @ @
@ @ - - @ @ - @
@ @ - - @ @ @ -
- @ - @ @ - @ -
- @ - - - @ @ -
Options:
a : Age universe one generation
m : Age universe multiple generations
s : Save universe to disk
l : Load universe from disk
q : Quit program
Command (a|m|s|l|q): a
- - - - - - - -
- @ - - - - - -
- - - - - - - -
- @ @ @ - - - -
- - - - - - - -
- - - - - - - -
- @ - @ - - - -
- - - - - - - -
Options:
a : Age universe one generation
m : Age universe multiple generations
s : Save universe to disk
l : Load universe from disk
q : Quit program
Command (a|m|s|l|q): l
Name of file to load from? test.lif
- - - - - - - -
- - - - - - - -
- - @ @ @ - - -
- - @ @ @ - - -
- - @ - @ @ - -
- - - - @ - - -
- - - - - @ - -
- - - - - - - -
Options:
a : Age universe one generation
m : Age universe multiple generations
s : Save universe to disk
l : Load universe from disk
q : Quit program
Command (a|m|s|l|q): m
How many generations? 2
- - - - - - - -
- - - @ - - - -
- - @ - @ - - -
- @ - - - - - -
- - @ - - @ - -
- - - @ @ - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - @ - - - -
- - @ @ - - - -
- @ @ @ - - - -
- - @ @ @ - - -
- - - @ @ - - -
- - - - - - - -
- - - - - - - -
Options:
a : Age universe one generation
m : Age universe multiple generations
s : Save universe to disk
l : Load universe from disk
q : Quit program
Command (a|m|s|l|q): s
Name of file to save to? test2.lif
Options:
a : Age universe one generation
m : Age universe multiple generations
s : Save universe to disk
l : Load universe from disk
q : Quit program
Command (a|m|s|l|q): q
>>>