Repita com For
Parte da seção Python em uma janela de jogo do Journey de Pygame da Coddy. Lição 15 de 32.
Um loop for repete suas linhas, uma vez para cada valor recebido:
for i in range(8):
pygame.draw.circle(screen, (255, 255, 255), (40 + i * 80, 80), 5)range(8) fornece os números 0, 1, 2 e assim por diante até 7: oito números, começando em 0 e parando antes de 8. O loop armazena cada um deles em i, um de cada vez, e executa as linhas indentadas. Então, a primeira estrela fica em x 40, a próxima em 120, depois 200, até 600.
As linhas indentadas são o corpo do loop, assim como em um if. A primeira linha após o corpo, de volta à indentação externa, é executada quando o loop termina.
Esse loop fica na parte de desenho do loop do jogo, então as oito estrelas são desenhadas novamente a cada quadro. Ele é curto e termina imediatamente, então o quadro ainda termina a tempo.
i é um nome comum para uma variável de contagem, mas qualquer nome funciona: for n in range(8): conta da mesma forma.
Desafio
FácilSubstitua a estrela única por um loop for sobre range(8) que desenhe 8 estrelas brancas de raio 5 em (40 + i * 80, 80).
Experimente você mesmo
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Configure 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.
pygame.draw.circle(screen, (255, 255, 255), (40, 80), 5)
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