Source Code
1 CLEAR 29999
2 PRINT AT 10,2;"Leave recorder running"," life data now loading": BEEP .4,15: LOAD "Life M/C"CODE
3 INK 9: PAPER 3: BORDER 4: CLS
10 PRINT AT 2,8;"CONWAY'S LIFE"
20 PRINT OVER 1;AT 2,8;"_____________"
30 PRINT AT 4,3;"THIS PROGRAM WILL SIMULATE"';"THE EVOLUTION OF A COLONY OF"';" ""BUGS"""
40 PRINT AT 8,3;"THE INITIAL COLONY "'"MAY BE RANDOM OR PROGRAMMED"
50 PRINT AT 11,3;"YOU MAY STOP AT ANY TIME TO"'"CHANGE THE DISPLAY OR RETURN"'" TO THE MENU"
60 PRINT PAPER 2; INK 9;AT 17,3;"PRESS ANY KEY TO CONTINUE"
70 IF INKEY$="" THEN GO TO 70
80 BEEP .2,15: POKE 23659,2: CLS
90 PRINT AT 2,13;"MENU"
100 PRINT OVER 1;AT 2,13;"____"
110 PRINT AT 5,3;"1:RANDOM START"
120 PRINT AT 7,3;"2:PROGRAMMED START"
125 PRINT AT 9,3;"3:END"
130 PRINT AT 12,2;"WHEN THE PROGRAM IS RUNNING, KEY ""1"" WILL RETURN TO THE MENU AND KEY ""2"" WILL ALLOW CHANGES TO BE MADE TO THE SCREEN"
140 PRINT FLASH 1; INK 1; PAPER 9;AT 21,7;"ENTER YOUR CHOICE"
150 LET a$=INKEY$
160 IF CODE a$<49 OR CODE a$>51 THEN GO TO 150
170 IF a$="1" THEN GO SUB 1000: GO SUB 1010: LET l=USR 30088
180 IF a$="3" THEN GO TO 700
190 LET l=USR 30351
200 BEEP .2,15: LET c=16: LET r=11
205 GO SUB 1000: POKE 23659,0: PRINT PAPER 4; INK 9;AT 22,0;"use cursors to move,3 to return, 4 to enter,9 to erase"
210 DEF FN p()=22527+(32*r)+c
220 LET p=FN p()
230 LET z=PEEK p
240 POKE p,18
250 LET d=CODE INKEY$-48: IF d<1 OR d>9 THEN GO TO 250
260 IF d=3 THEN GO TO 400
270 IF d=4 THEN GO TO 500
280 IF d=9 THEN GO TO 600
285 POKE p,z
286 BEEP .1,10
290 LET c=c+(d=8)-(d=5): LET r=r+(d=6)-(d=7)
310 IF c=33 THEN LET c=1
311 IF c=0 THEN LET c=32
312 IF r=22 THEN LET r=0
313 IF r=-1 THEN LET r=21
320 GO TO 220
400 POKE 23659,2: POKE p,z
405 GO SUB 1000: GO SUB 1010
410 LET x=USR 30139
500 LET z=48
505 BEEP .2,20
510 POKE p,170: GO TO 245
600 LET z=54
605 BEEP .2,0
610 POKE p,170: GO TO 245
700 POKE 23659,2: STOP
1000 POKE 23684,128: POKE 23685,80: POKE 23686,33: POKE 23687,2: POKE 23659,0: RETURN
1010 PRINT PAPER 4; INK 9;AT 22,0;" enter 1 for menu,2 to alter "
1020 RETURN
9998 SAVE "Life" LINE 1: BEEP .4,15: SAVE "Life M/C"CODE 30000,410
9999 REM VERIFY "Life": BEEP .4,15: VERIFY "Life M/C"CODE 30000,410: GO TO 1