Menu
CoddyTech

Una lista de estrellas

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

Una lista contiene muchos valores en una sola variable, en orden, dentro de corchetes:

stars = [(100, 80), (220, 160), (360, 100)]

Aquí cada elemento es una tupla de posición. stars[0] es el primer elemento, (100, 80), y stars[1], el segundo. El conteo empieza en 0, como con range.

Un bucle for puede recorrer una lista. La variable del bucle toma cada elemento por turno:

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

Una posición es una tupla, así que star va directamente donde va el centro. Añade una posición a la lista y aparecerá una estrella más, sin cambiar el bucle. La lista es la memoria del juego de lo que hay en la pantalla; el bucle dibuja todo lo que contiene.

challenge icon

Desafío

Fácil

Dibuja un cielo con cinco estrellas a partir de una lista:

  1. Añade (360, 100), (480, 200) y (580, 70) al final de stars.
  2. Reemplaza la línea que dibuja stars[0] por for star in stars:, dibujando cada una como un círculo blanco (255, 255, 255) de radio 5.

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.
stars = [(100, 80), (220, 160)]

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, (255, 255, 255), stars[0], 5)

    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