hay una parte comentada, que es con la que había empezado.
import pygame
import random
pygame.init()
pantalla = pygame.display.set_mode([400,400])
pygame.display.set_caption("Ok")
reloj1=pygame.time.Clock()
nada=pygame.image.load('img/nada.png').convert_alpha()
piedra=pygame.image.load('img/piedra.png').convert_alpha()
piedrao=pygame.image.load('img/piedrao.png').convert_alpha()
suelo=pygame.image.load("img/suelo.png").convert_alpha()
imagenes=[suelo,piedra,piedrao,nada]
mapa= [ [ 0 for i in range(40) ] for j in range(40) ]
#mapa totalmente aleatorio
for d1 in range(40):
for d2 in range(40):
mapa[d1][d2]= random.randrange(0,4)
#se fija cual es el que mas lo rodea y lo convierte
for d1 in range(40):
for d2 in range(40):
contador=[0]*4
for i in range(-1,2):
for j in range(-1,2):
if (-1<(d1+i)<40)and(-1<(d2+j)<40):
pito = mapa[d1+i][d2+j]
contador[pito]+=1
max = -1
for x in range(4):
if (contador[x]>max):
max = contador[x]
num = x
mapa[d1][d2]=num
'''
for d1 in range(40):
for d2 in range(40):
mapa[d1][d2]= 2
for x in range(200):
mapa[random.randrange(0,40)][random.randrange(0,40)]= 1
'''
#se fija si dos casilleros mas asi la dreche y izquierda son piedra y sin son convierte al sieguien
'''for d1 in range(40):
for d2 in range(40):
if mapa[d1][d2]==1:
if (d1 <38)and(mapa[d1+2][d2]==1):
mapa[d1+1][d2]==1
if (d2 <38)and(mapa[d1][d2+2]==1):
mapa[d1][d2+1]==1'''
def dibujar(sup,mapa,img):
for i in range(40):
for j in range(40):
sup.blit(img[mapa[i][j]],(i*10,j*10))
def main():
salir=False
while salir!=True:#loop principal
for event in pygame.event.get():
if event.type == pygame.QUIT:
salir=True
reloj1.tick(20)
dibujar(pantalla,mapa,imagenes)
pygame.display.update()
pygame.quit()
main()