Menu
CoddyTech

Use a Variável do Laço

Parte da seção Python em uma janela de jogo do Journey de Pygame da Coddy. Lição 17 de 32.

A variável do laço é um número como qualquer outro, então você pode fazer operações aritméticas com ela e alterar mais do que a posição. Aqui, cada planeta é maior e mais amarelo que o 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)

Faça as contas para i = 2: x é 270, o raio é 15, a cor é (255, 140, 120). Para i = 5: x é 570, o raio é 30, a cor é (255, 230, 120).

As variáveis criadas dentro do corpo, como x e radius, recebem novos valores a cada passagem. Definir primeiro as partes mantém a linha de desenho curta e clara.

Mantenha cada número de cor entre 0 e 255. Aqui, o maior valor de verde é 80 + 5 * 30, que é 230, então está dentro do limite.

challenge icon

Desafio

Médio

Altere o loop para que o planeta i:

  1. fique centralizado em (70 + i * 100, 240), como agora;
  2. tenha raio 5 + i * 5, de 5 a 30;
  3. tenha cor (255, 80 + i * 30, 120).

Experimente você mesmo

import pygame

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

# Prepare tudo aqui, antes do loop do jogo.

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

    # Altere as coisas aqui, uma vez por quadro.

    screen.fill((20, 24, 48))
    # Desenhe aqui, depois de preencher a tela.
    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 as lições de Python em uma janela de jogo

Pratique por conta própria: Playground de Pygame