Menu
CoddyTech

Coloca las estrellas

Parte de la sección Python en una ventana de juego del Journey de Pygame de Coddy. Lección 29 de 32.

Las últimas cuatro lecciones construyen un pequeño juego, Night Sky: haces clic para colocar estrellas, estas titilan, un contador muestra cuántas hay y, al llegar a veinte, el cielo está lleno. Cada lección comienza con el código de la anterior.

El juego usa lo que enseña esta sección. Las estrellas son una lista de posiciones, que se crea vacía antes del bucle del juego. Un clic agrega su posición y un bucle for dibuja todas las estrellas de la lista en cada fotograma:

stars = []

        if event.type == pygame.MOUSEBUTTONDOWN:
            stars.append(event.pos)

    for star in stars:
        pygame.draw.circle(screen, (255, 255, 255), star, 3)

Dibuja las estrellas después de la luna y el suelo, para que aparezcan encima. Una estrella colocada sobre la luna queda delante de ella, como si estuviera más cerca.

challenge icon

Desafío

Fácil

Empieza el cielo nocturno:

  1. Crea stars = [] antes del bucle del juego.
  2. Cuando ocurra un evento MOUSEBUTTONDOWN, añade event.pos a stars.
  3. Después de la luna y el suelo, dibuja cada estrella como un círculo blanco de (255, 255, 255) con radio 3.

Pruébalo tú mismo

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Configura las cosas aquí, antes del bucle del juego.

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Cambia las cosas aquí, una vez por fotograma.

    screen.fill((20, 24, 48))
    # Dibuja aquí, después de rellenar la pantalla.
    pygame.draw.circle(screen, (240, 230, 160), (560, 80), 40)
    pygame.draw.rect(screen, (14, 16, 30), (0, 430, 640, 50))

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Todas las lecciones de Python en una ventana de juego

Practica por tu cuenta: Playground de Pygame