Re: Клеточные автоматы

From
Michael Ryazanov (2:5030/1006.64)
To
Arthur Martirosyan
Date
2002-11-21T23:20Z
Area
RU.ALGORITHMS
▐┤E╚°' Arthur!

08.11 07:13 Arthur Martirosyan, 2:5061/103.51@FIDOnet.org -> All

 AM> Ищутся алгоритмы либо исходники игр по сабжу.
 AM> Игры: "Жизнь" (Life),

   Клетки бесконечного квадратного поля могут иметь два состояния: "живое" и "мёртвое". Если в текущем поколении у клетки из 8 соседей 2 или 3 живые, в следующем поколении она будет живой, иначе -- мёртвой.
   Исходничек:

/M 5 def % высота
/N 20 def % ширина

/p {[M 2 add {N 2 add string} repeat]} def
/p0 p def
/p1 p def

/Arial findfont 10 scalefont setfont

p0 3 get 1 1 put
p0 2 get 2 1 put
p0 2 get 3 1 put
p0 2 get 4 1 put
p0 2 get 5 1 put
p0 3 get 5 1 put
p0 4 get 5 1 put
p0 5 get 4 1 put

0
11 {
 30 50 translate
 10 -10 moveto (Generation ) show dup (    ) cvs show 1 add
 10 10 scale
 1 1 M {
  /y exch def
  1 1 N {
   /x exch def
   -1 1 1 {
    /dy exch def
    /s p0 y dy add get def
    -1 1 1 {
     /dx exch def
     s x dx add get
    } for
   } for
   8 {add} repeat
   /S exch def
   /cur p0 y get x get 1 eq def
   cur {
    x y .9 .9 rectfill
   } if
   p1 y get x S 3 eq S 4 eq cur and or {1}{0} ifelse put
  } for
 } for
 /t p0 def /p0 p1 def /p1 t def
 showpage
} repeat

   ;-)

 AM> Охотники и чудовища.

   Без понятия.

 AM> Заранее благодарен за любую информацию.

   По поводу "жизни" полезно Гарднера почитать.

                                                                      |V|uxau/\
--- -- - ·
 * Origin:             Ф И З Ф А К - Ч Е М П И О H !           (2:5030/1006.64)