2 __all__
= ['life_controller']
4 from functools
import partial
7 lambda index
, x
, y
: index(x
+1, y
+1) + index(x
, y
+1) + index(x
-1, y
+1) \
8 + index(x
+1, y
) + index(x
-1, y
) \
9 + index(x
+1, y
-1) + index(x
, y
-1) + index(x
-1, y
-1)
12 def life_controller(x_size
, y_size
, rule
=([2,3], [3]), p
=0.5):
13 field
, next
= set(), set()
15 rule
= rule
[1], rule
[0]
17 from random
import random
18 from time
import sleep
20 for x
in xrange(x_size
):
21 for y
in xrange(y_size
):
25 index
= lambda x
, y
: ((x
% x_size
), (y
% y_size
)) in field
28 for x
in xrange(x_size
):
29 for y
in xrange(y_size
):
30 if get_neighbors(index
, x
, y
) in rule
[index(x
, y
)]:
32 field
, next
= next
, set()