|
(load "./lifegame.scm") |
|
|
|
(define-constant BLOCK |
|
'((0 0 0 0) |
|
(0 1 1 0) |
|
(0 1 1 0) |
|
(0 0 0 0))) |
|
|
|
(define-constant BEEHIVE |
|
'((0 0 0 0 0 0) |
|
(0 0 1 1 0 0) |
|
(0 1 0 0 1 0) |
|
(0 0 1 1 0 0) |
|
(0 0 0 0 0 0))) |
|
|
|
(define-constant LOAT |
|
'((0 0 0 0 0) |
|
(0 1 1 0 0) |
|
(0 1 0 1 0) |
|
(0 0 1 0 0) |
|
(0 0 0 0 0))) |
|
|
|
(define-constant BLINKER |
|
'((0 0 0 0 0) |
|
(0 0 1 0 0) |
|
(0 0 1 0 0) |
|
(0 0 1 0 0) |
|
(0 0 0 0 0))) |
|
|
|
(define-constant TOAD |
|
'((0 0 0 0 0 0) |
|
(0 0 0 0 0 0) |
|
(0 0 1 1 1 0) |
|
(0 1 1 1 0 0) |
|
(0 0 0 0 0 0))) |
|
|
|
(define-constant BEACON |
|
'((0 0 0 0 0 0) |
|
(0 1 1 0 0 0) |
|
(0 1 1 0 0 0) |
|
(0 0 0 1 1 0) |
|
(0 0 0 1 1 0) |
|
(0 0 0 0 0 0))) |
|
|
|
|
|
(define-constant PULSER |
|
'((0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0) |
|
(0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0) |
|
(0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0) |
|
(0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0) |
|
(0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0) |
|
(0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0) |
|
(0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) |
|
|
|
(define-constant GLIDER |
|
'((0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) |
|
|
|
(define-constant LIGHTWEIGHT_SPACESHIP |
|
'((0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) |
|
(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))) |
|
|
|
;; test |
|
(define lifegame (make-auto-step-lifegame 10 10)) |
|
(print-lifegame-table (lifegame :next)) |
|
|
|
(define erl (endless-repeat-lifegame (make-auto-step-lifegame 30 30))) |
|
(erl) |
|
|
|
(define bl (endless-repeat-lifegame (const->auto-step-lifegame BLINKER))) |
|
(bl) |
|
|
|
(define gl (endless-repeat-lifegame (const->auto-step-lifegame GLIDER))) |
|
(gl) |
|
|
|
(define ls (endless-repeat-lifegame (const->auto-step-lifegame LIGHTWEIGHT_SPACESHIP))) |
|
(ls) |
|
|
|
(define pl (endless-repeat-lifegame (const->auto-step-lifegame PULSER))) |
|
(pl) |