Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- from random import random
- S=200
- s=pygame.display.set_mode((S,S))
- t=[[random()>0.75 for x in xrange(S)] for y in xrange(S)]
- def sim(s,n):
- d={0:0,1:1,2:2,3:3,4:1,5:3,6:3,7:7,8:2,9:3,10:3,11:11,12:3,13:7,14:11,15:15}
- for y in xrange(n&1, S-1, 2):
- for x in xrange(n&1, S, 2):
- p=d[t[x][y]*8+t[(x+1)%S][y]*4+t[x][y+1]*2+t[(x+1)%S][y+1]]
- t[x][y]=(p&8)!=0
- t[(x+1)%S][y]=(p&4)!=0
- t[x][y+1]=(p&2)!=0
- t[(x+1)%S][y+1]=p&1
- s.set_at((x,y),(255*(p&8!=0),)*3)
- s.set_at(((x+1)%S,y),(255*(p&4!=0),)*3)
- s.set_at((x,y+1),(255*(p&2!=0),)*3)
- s.set_at(((x+1)%S,y+1),(255*(p&1!=0),)*3)
- n=0
- while True:
- sim(s,n)
- n+=1
- pygame.display.flip()
- if pygame.event.poll().type==pygame.KEYDOWN: break
Add Comment
Please, Sign In to add comment