def update_wall(grid, x, y, geracao): if (get_total(grid,x,y) < 30 or not(geracao % 300)): return Bricks.build_grid_wall(x, y) updated_grid = Bricks.build_grid_wall(x, y) for i in range(Config.WIDTH * x): for j in range((Config.HEIGHT * y) + Config.WIDTH): neighbors = get_neighbors(i, j, Config.WIDTH * x, (Config.HEIGHT * y) + Config.WIDTH, grid) if(get_cell(i, j, Config.WIDTH * x, (Config.HEIGHT * y) + Config.WIDTH, grid)): if(neighbors < 2): updated_grid[i,j] = Config.DEAD elif(neighbors > 3): updated_grid[i,j] = Config.DEAD else: updated_grid[i,j] = Config.LIVE else: if(neighbors == 3): updated_grid[i,j] = Config.LIVE else: updated_grid[i,j] = Config.DEAD return updated_grid
def build_imarray(im, x, y, wall): if wall: imarray = Bricks.build_grid_wall(x, y) pixels = im.load() for i in range(x * Config.WIDTH): for j in range((y * Config.HEIGHT) + Config.WIDTH): imarray[i,j] = pixels[i,j] # load method is faster than getpixel: im.getpixel((i,j)) return imarray else: imarray = Bricks.build_grid(x, y) pixels = im.load() for i in range(x * Config.WIDTH): for j in range(y * Config.HEIGHT): imarray[i,j] = pixels[i,j] # load method is faster than getpixel: im.getpixel((i,j)) return imarray
def build_imarray(im, x, y, wall): if wall: imarray = Bricks.build_grid_wall(x, y) pixels = im.load() for i in range(x * Config.WIDTH): for j in range((y * Config.HEIGHT) + Config.WIDTH): imarray[i, j] = pixels[ i, j] # load method is faster than getpixel: im.getpixel((i,j)) return imarray else: imarray = Bricks.build_grid(x, y) pixels = im.load() for i in range(x * Config.WIDTH): for j in range(y * Config.HEIGHT): imarray[i, j] = pixels[ i, j] # load method is faster than getpixel: im.getpixel((i,j)) return imarray
#s = serial.Serial('/dev/ttyS0', 115200) s = serial.Serial(Config.SERIAL_PORT, Config.SERIAL_BAUD_RATE, dsrdtr=True) s.open() turn = 0 if not options.wall: grid = Bricks.build_grid(options.x, options.y) while True: brick_list = Bricks.build_bricklist(options.x, options.y, grid) Bricks.sendserial(brick_list, s) turn = turn + 1 print "geracao ", turn time.sleep(0.05) grid = GameOfLife.update(grid, options.x, options.y, turn) else: print "modo wall" grid = Bricks.build_grid_wall(options.x, options.y) while True: brick_list = Bricks.build_wall_bricklist(options.x, options.y, grid) Bricks.sendserial(brick_list, s) turn = turn + 1 print "geracao ", turn time.sleep(0.05) grid = GameOfLife.update_wall(grid, options.x, options.y, turn) s.close() elif (options.mode == "hib"): listing = glob.glob(options.folder) for infile in listing: fig = Figure.build_image(infile, options.x, options.y) figarray = Figure.build_imarray(fig, options.x, options.y)
#s = serial.Serial('/dev/ttyS0', 115200) s = serial.Serial(Config.SERIAL_PORT, Config.SERIAL_BAUD_RATE, dsrdtr=True) s.open() turn = 0 if not options.wall: grid = Bricks.build_grid(options.x, options.y) while True: brick_list = Bricks.build_bricklist(options.x, options.y, grid) Bricks.sendserial(brick_list,s) turn = turn + 1 print "geracao ", turn time.sleep(0.05) grid = GameOfLife.update(grid, options.x, options.y, turn) else: print "modo wall" grid = Bricks.build_grid_wall(options.x, options.y) while True: brick_list = Bricks.build_wall_bricklist(options.x, options.y, grid) Bricks.sendserial(brick_list,s) turn = turn + 1 print "geracao ", turn time.sleep(0.05) grid = GameOfLife.update_wall(grid, options.x, options.y, turn) s.close() elif (options.mode == "hib"): listing = glob.glob(options.folder) for infile in listing: fig = Figure.build_image(infile, options.x, options.y) figarray = Figure.build_imarray(fig, options.x, options.y) brick_list = Bricks.build_bricklist(options.x, options.y, figarray)