[2] PyGame

Create games.

1. Install

pip install -U pygame --user

2. Example of use

(Interrupt in jupyter notebook with the Kernel menu)


In [7]:
# http://programarcadegames.com/python_examples/f.php?lang=es&file=animating_snow.py

'''
 Animating multiple objects using a list.
 Sample Python/Pygame Programs
 Simpson College Computer Science
 http://programarcadegames.com/
 http://simpson.edu/computer-science/
 
 Vídeo explicativo: http://youtu.be/Gkhz3FuhGoI
'''
# Importamos las bibliotecas llamadas 'pygame' y 'random'.
import pygame
import random
 
# Inicializamos el motor de juegos.
pygame.init()
 
NEGRO = [0, 0, 0]
BLANCO = [255, 255, 255]
 
# Establecemos el largo y ancho de la pantalla.
dimensiones = [400, 400]
 
pantalla = pygame.display.set_mode(dimensiones)
pygame.display.set_caption("Está Nevando")
 
# Creamos un array vacío
lista_nieve = []
 
# Iteramos 50 veces y añadimos un copo de nieve en una ubicación (x,y) aleatoria.
for i in range(50):
    x = random.randrange(0, 400)
    y = random.randrange(0, 400)
    lista_nieve.append([x, y])
 
reloj = pygame.time.Clock()
 
# Iteramos hasta que el usuario haga click sobre le botón de salida.
hecho = False
while not hecho:
     
    for evento in pygame.event.get():  # El usuario realizó alguna acción.
        if evento.type == pygame.QUIT: # Si el usuario hizo click sobre salir.
            hecho = True # Marcamos que hemos acabado y abandonamos este bucle.
 
    # Establecemos el color de fondo.
    pantalla.fill(NEGRO)
 
    # Procesamos cada copo de la lista.
    for i in range(len(lista_nieve)):
    
        # Dibujamos el copo de nieve
        pygame.draw.circle(pantalla, BLANCO, lista_nieve[i], 2)
         
        # Desplazamos un píxel hacia abajo el copo de nieve.
        lista_nieve[i][1] += 1
         
        # Si el copo se escapa del fondo de la pantalla.
        if lista_nieve[i][1] > 400:
            # Lo movemos justo encima del todo
            y = random.randrange(-50, -10)
            lista_nieve[i][1] = y
            # Le damos una nueva ubicación x
            x = random.randrange(0, 400)
            lista_nieve[i][0] = x
             
    # Avanzamos y actualizamos con lo que hemos dibujado.
    pygame.display.flip()
    reloj.tick(100)
             
# Pórtate bien con el IDLE. Si nos olvidamos de esta línea, el programa se 'colgará'
# en la salida.
pygame.quit ()


---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-7-1b1723697419> in <module>
     67 
     68     # Avanzamos y actualizamos con lo que hemos dibujado.
---> 69     pygame.display.flip()
     70     reloj.tick(100)
     71 

KeyboardInterrupt: 

In [ ]: