50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
|
height = 100
|
||
|
width = 100
|
||
|
|
||
|
grid_model = [0] * height
|
||
|
|
||
|
for i in range(height):
|
||
|
grid_model[i] = [0] * width
|
||
|
|
||
|
|
||
|
def next_gen():
|
||
|
global grid_model
|
||
|
|
||
|
for i in range(0, height):
|
||
|
for j in range(0, width):
|
||
|
cell = 0
|
||
|
print('Проверяем клетку', i, j)
|
||
|
count = count_neighbors(grid_model, i, j)
|
||
|
|
||
|
if grid_model[i][j] == 0:
|
||
|
if count == 3:
|
||
|
cell = 1
|
||
|
elif grid_model[i][j] == 1:
|
||
|
if count == 2 or count == 3:
|
||
|
cell = 1
|
||
|
|
||
|
|
||
|
def count_neighbors(grid, row, col):
|
||
|
count = 0
|
||
|
if row - 1 >= 0:
|
||
|
count = count + grid[row - 1][col]
|
||
|
if (row - 1 >= 0) and (col - 1 >= 0):
|
||
|
count = count + grid[row - 1][col - 1]
|
||
|
if (row - 1 >= 0) and (col + 1 < width):
|
||
|
count = count + grid[row - 1][col + 1]
|
||
|
if col - 1 >= 0:
|
||
|
count = count + grid[row][col - 1]
|
||
|
if col + 1 < width:
|
||
|
count = count + grid[row][col + 1]
|
||
|
if row + 1 < height:
|
||
|
count = count + grid[row + 1][col]
|
||
|
if (row + 1 < height) and (col - 1 >= 0):
|
||
|
count = count + grid[row + 1][col - 1]
|
||
|
if (row + 1 < height) and (col + 1 < width):
|
||
|
count = count + grid[row + 1][col + 1]
|
||
|
return count
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
next_gen()
|