Menu
CoddyTech

Usar la variable del bucle

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

La variable del bucle es un número como cualquier otro, así que puedes hacer operaciones aritméticas con ella y cambiar más cosas que la posición. Aquí cada planeta es más grande y más amarillo que el anterior:

for i in range(6):
    x = 70 + i * 100
    radius = 5 + i * 5
    colour = (255, 80 + i * 30, 120)
    pygame.draw.circle(screen, colour, (x, 240), radius)

Calcula paso a paso para i = 2: x es 270, el radio 15 y el color (255, 140, 120). Para i = 5: x es 570, el radio 30 y el color (255, 230, 120).

Las variables creadas dentro del cuerpo, como x y radius, reciben nuevos valores en cada iteración. Nombrar primero las partes mantiene la línea de dibujo breve y clara.

Mantén cada número de color entre 0 y 255. Aquí el valor más alto del verde es 80 + 5 * 30, que es 230, así que está dentro del límite.

challenge icon

Desafío

Intermedio

Cambia el bucle para que el planeta i:

  1. esté centrado en (70 + i * 100, 240), como ahora;
  2. tenga un radio de 5 + i * 5, de 5 a 30;
  3. tenga el color (255, 80 + i * 30, 120).

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()

# Prepara todo aquí, antes del bucle del juego.

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

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

    screen.fill((20, 24, 48))
    # Dibuja aquí, después de rellenar la pantalla.
    for i in range(6):
        pygame.draw.circle(screen, (255, 80, 120), (70 + i * 100, 240), 10)

    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