El problema es en
grid[row][column] = 1
pygame.time.delay(1000)
grid[row][column] = 0
Aquí pones esa celda en 1, se pausa el programa y cuando se retoma la
secuencia, lo vuelves a asignar a 0, eso ace que al entrar al ciclo
que pone los colores va a leer que esa celda es cero, por lo tanto la
pone en color negro.
Lo que puede hacer, es que al dar click se asigne esa celda a 1; el
delay y la asignación a 0 lo pones despues de pintar la celda.
Espero esto te sirva
Suerte
2017-02-06 21:44 GMT-06:00, miquel parera <[email protected]>:
> Hola
>
> Disculpad mi pregunta de novato, pero hay algo en el manejo del tiempo que
> no acabo de entender. Quiero que, al clickar un cuadradro, se torne blanco
> y, al segundo, vuelva a ser negro.
> Pero ni pygame.time.delay(1000) funcionan ni time.sleep(1) funcionan.
>
> Alguna idea? gracias!
>
> import pygame
>
> # Pygame screen
> # Cuadrados
> # Añadir tiempo al click
>
> # colores
>
> BLACK = ( 0, 0, 0)
> WHITE = ( 255, 255, 255)
> GREEN = ( 0, 255, 0)
> RED = ( 255, 0, 0)
>
> # iniciar pygame
>
> pygame.init()
>
> # caracteristicas de la ventana
>
> size = (260,260)
> screen = pygame.display.set_mode(size)
>
> pygame.display.set_caption("Pantalla")
>
> # definir array de cuadro (10x10)
>
> width = 20
> height = 20
> margin = 5
>
> grid = [[0 for x in range(10)] for y in range(10)]
>
>
> # control de procesos
>
> done = False
>
> clock = pygame.time.Clock()
>
> # loop principal
>
> while not done:
>
> for event in pygame.event.get():
> if event.type == pygame.QUIT:
> done = True
>
> # evento de click
>
> elif event.type == pygame.MOUSEBUTTONDOWN:
> column = pos[0] // (width + margin)
> row = pos[1] // (height + margin)
> # print
> print("Click ", pos, "Coordenadas: ", row, column)
> grid[row][column] = 1
> pygame.time.delay(1000)
> grid[row][column] = 0
>
> # lógica de click
> pos = pygame.mouse.get_pos()
> x = pos[0]
> y = pos[1]
>
> #color de fondo
>
> screen.fill(WHITE)
>
> # dibujar cuadro
>
> for row in range(10):
> for column in range(10):
> if grid[row][column] == 1:
> color = WHITE
> else:
> color = BLACK
> pygame.draw.rect(screen, color, [margin + (margin + width) *
> column, margin + (margin + height) * row, width, height])
>
>
>
> # escribir todo
>
> pygame.display.flip()
>
> clock.tick(60)
>
> # finalizar
>
> pygame.quit()
>
>
>
>
> --
>
>
> *Musicnumbers Netlabel (for almost silence): http://musicnumbers.es/
> <http://musicnumbers.wordpress.com/>*
>
_______________________________________________
Python-es mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-es