Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random as r
- EverythingInExistence = [] # doesn't do anything, just a comment in the form of code
- class Bootstrap:
- def __init__(self):
- ux = 6
- uy = 6
- ut = 3
- uinput = raw_input(" > (Int) [" + str(ux) + "] Universe X dimension: ")
- if uinput != "":
- ux = int(uinput)
- uinput = raw_input(" > (Int) [" + str(uy) + "] Universe Y dimension: ")
- if uinput != "":
- uy = int(uinput)
- uinput = raw_input(" > (Int) [" + str(ut) + "] Universe Timesteps to run: ")
- if uinput != "":
- ut = int(uinput)
- print "\nRun grid [" + str(ux) + ", " + str(uy) + "] for " + str(ut) + " steps.\n"
- EverythingInExistence.append(Universe(ux,uy))
- for t in range(ut):
- for i in EverythingInExistence:
- print "Run all universes (" + str(t) + ", " + str(i) + ") "
- i.update(i)
- class Universe:
- def __init__(self, x, y, progenitor=[], deviation=[]):
- print "Hello, Universe!"
- print "x:" + str(x) + " y:" + str(y)
- self.univ = [[0 for i in range(y)] for j in range(x)] #init universe grid to 0
- self.timeBuffer = [[[None,0] for i in range(y)] for j in range(x)]
- print "\nInit univ:\n"
- for i in self.univ:
- print i
- print "\nInit timeBuffer:\n"
- for i in self.timeBuffer:
- print i
- if progenitor and deviation:
- univ = [[progenitor[i][j] + deviation[i][j] for i in range(x)] for j in range(y)]
- elif progenitor:
- univ = [[progenitor[i][j] for i in range(x)] for j in range(y)]
- else:
- pass
- self.x = x+1
- self.y = y
- self.branches = []
- def getNextState(self,x,y):
- if x == self.x or x == 0 or y == self.y or y == 0:
- return 0
- sum = r.randint(0,8) #[sum(i) for i in self.univ[y-1:y+1]]
- if sum == 3:
- return 1
- elif sum == 2 and (self.univ[x][y] == 1):
- return 1
- elif sum > 6:
- self.branch(sum - 6)
- return 0
- else:
- return 0
- def update(self,univ):
- print "Update..."
- temp = univ
- self.univ = [[self.getNextState(i,j) for i in range(self.y)] for j in range(self.x)]
- print "\nCGoL Update:\n"
- for i in self.univ:
- print i
- if self.branches:
- print "Do theRealBranch"
- #theRealBranch(self.timeBuffer)
- #for i in range(univ.y):
- # for j in range(univ.x):
- # print "UpdateXY:" + str(j) + ", " + str(i)
- branches = []
- print "Updated!"
- def branch(self, sum):
- print "Do branch"
- self.branches.append([self.x,self.y,sum - 6])
- #self.timeBuffer[self.x][self.y] = (0, sum - 6)
- if __name__ == "__main__":
- bs = Bootstrap()
- print '[%s]' % ', '.join(map(str, EverythingInExistence))
Advertisement
Add Comment
Please, Sign In to add comment