1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# -*- coding: utf-8 -*-
# Bibliotecas
import os, time, random
def cargartablero(filas,columnas):
tablero=[]
columna = [0]*columnas
celulas=0
#cargamos casilleros vacios
for i in range(filas):
columna = [0]* columnas
tablero.append(columna)
#cargamos las celulas
for x in range(filas):
for y in range(columnas):
celula = random.randint(0,random.randint(0,1))
tablero[x][y] = celula
return tablero
def dibujartablero(tablero):
filas=len(tablero)
columnas=len(tablero[1])
for x in range(filas):
for y in range(columnas):
if tablero[x][y]==0:
print ".",
else:
print "o",
print "\n",
def contarvecinos(tablero,x,y):
vecinos=0
filas=len(tablero)
columnas=len(tablero[1])
if x < filas-1 and tablero[x+1][y]==1:
vecinos = vecinos + 1
if x > 0 and tablero[x-1][y]==1:
vecinos = vecinos + 1
if y < columnas-1 and tablero[x][y+1]==1:
vecinos = vecinos + 1
if y > 0 and tablero[x][y-1]==1:
vecinos = vecinos + 1
if x < filas-1 and y < columnas-1 and tablero[x+1][y+1]==1:
vecinos = vecinos + 1
if x > 0 and y > 0 and tablero[x-1][y-1]==1:
vecinos = vecinos + 1
if x > 0 and y < columnas-1 and tablero[x-1][y+1]==1:
vecinos = vecinos + 1
if x < filas-1 and y > 0 and tablero[x+1][y-1]==1:
vecinos = vecinos + 1
return vecinos
def iteracion(tablero):
filas=len(tablero)
columnas=len(tablero[1])
vecinos=0
for x in range(filas):
for y in range(columnas):
if tablero[x][y] == 1:
vecinos = contarvecinos(tablero,x,y)
if vecinos >= 3 and vecinos <= 6:
xpos = x + random.randint(-1,1)
if xpos <= 0:
xpos = 1
if xpos >= filas:
xpos = filas-1
ypos = y + random.randint(-1,1)
if ypos <= 0:
ypos = 1
if ypos >= columnas:
ypos = columnas-1
tablero[xpos][ypos]=1
else:
tablero[x][y]=0
def bucleprincipal(filas,columnas,pulsos):
pulso=0
tablero = cargartablero(30,30)
while pulso < pulsos:
os.system('clear')
print "Pulso: ",pulso
iteracion(tablero)
dibujartablero(tablero)
pulso = pulso + 1
time.sleep(0.2)
numero = input("Ingrese el numero de filas y columnas (unico numero):")
pulsos = input("Ingrese el numero de pulsos:")
bucleprincipal(numero,numero,pulsos)
|