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.
Desafio
MédioAltere o loop para que o planeta i:
- fique centralizado em
(70 + i * 100, 240), como agora; - tenha raio
5 + i * 5, de 5 a 30; - 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
4Laços que Desenham
Repita com ForInício, Fim e PassoUse a Variável do LaçoUm Laço dentro de OutroConte com WhilePratique por conta própria: Playground de Pygame