Friday, May 30, 2014

Game of Life using Python on iPhone

Here the Game of Life code using Python in iOS.

I use Pythonista


from scene import *

from random import choice

class MyScene (Scene):

  def setup(self):
    # This will be called before the first frame is drawn
    self.jalan=-1
    self.m =[]
    self.n=[]

    for i in range(0,32):
      self.m.append([])
      self.n.append([])
      for j in range(0,48):
        self.n[i].append(choice([0,1]))
        self.m[i].append(0)

  def neigh(self,i,j):
    n=self.n
    sum = n[i-1][j-1]+n[i-1][j]+n[i-1][j+1]+n[i][j-1]+n[i][j+1]+n[i+1][j-1]+n[i+1][j]+n[i+1][j+1]
    return sum

  def liveOrDie(self,i,j,count):
    if(self.n[i][j]==0):
      if(count==3):
        self.m[i][j]=1
      else:
        self.m[i][j]=0
    else:
      if((count > 3)or(count < 2)):
        self.m[i][j]=0
      else:
        self.m[i][j]=1

    self.n[i][j]=self.m[i][j]

  def drawCell(self):
    background(0,.5,0) 
    for i in range(0,32):
      for j in range(0,48): 
        if (self.n[i][j]==0):
          fill(0,.1,0)
        else:
          fill(0,1,0)

        ellipse(i*10,j*10,10,10)

  def draw(self):
    for i in range(1,31):
      for j in range(1,47):
        count=self.neigh(i,j)
        self.liveOrDie(i,j,count) 

    self.drawCell() 

run(MyScene(),frame_interval=2 )