Ripetere con for
Fa parte della sezione Python in una finestra di gioco del percorso Pygame di Coddy. Lezione 15 di 32.
Un ciclo for ripete le sue righe una volta per ogni valore che riceve:
for i in range(8):
pygame.draw.circle(screen, (255, 255, 255), (40 + i * 80, 80), 5)range(8) fornisce i numeri 0, 1, 2 e così via fino a 7: otto numeri, partendo da 0 e fermandosi prima di 8. Il ciclo memorizza ogni numero a turno in i ed esegue le righe rientrate. Così la prima stella si trova a x 40, la successiva a 120, poi 200, fino a 600.
Le righe rientrate costituiscono il corpo del ciclo, come nel caso di un if. La prima riga dopo il corpo, al rientro esterno, viene eseguita quando il ciclo è terminato.
Questo ciclo si trova nella parte di disegno del ciclo di gioco, quindi tutte e otto le stelle vengono disegnate di nuovo a ogni fotogramma. È breve e termina subito, così il fotogramma finisce comunque in tempo.
i è un nome comune per una variabile contatore, ma va bene qualsiasi nome: for n in range(8): conta allo stesso modo.
Sfida
FacileSostituisci la singola stella con un ciclo for su range(8) che disegna 8 stelle bianche di raggio 5 in (40 + i * 80, 80).
Provalo tu
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Prepara tutto qui, prima del ciclo di gioco.
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Modifica gli elementi qui, a ogni fotogramma.
screen.fill((20, 24, 48))
# Disegna qui, dopo aver riempito lo schermo.
pygame.draw.circle(screen, (255, 255, 255), (40, 80), 5)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Tutte le lezioni di Python in una finestra di gioco
4Cicli che disegnano
Ripetere con forInizio, fine e passoUsare la variabile del cicloUn ciclo dentro un cicloContare con whileEsercitati da solo: Playground Pygame