Elif e else
Fa parte della sezione Python in una finestra di gioco del percorso Pygame di Coddy. Lezione 12 di 32.
else aggiunge a un if un secondo ramo, da eseguire quando la condizione è falsa. elif, abbreviazione di "else if", aggiunge altre condizioni intermedie:
if moon_x < 200:
colour = (255, 170, 90)
elif moon_x < 440:
colour = (240, 230, 160)
else:
colour = (160, 190, 255)Python verifica le condizioni dall'alto, esegue il primo ramo la cui condizione è vera e salta il resto. Con x 100, le prime due condizioni sono entrambe vere, ma viene eseguito solo il primo ramo. else non ha una condizione: viene eseguito quando nessuna delle condizioni precedenti era vera.
Gli if separati funzionano diversamente: ciascuno viene verificato. Con tre if, una luna a x 100 diventerebbe arancione e poi il secondo la renderebbe di nuovo gialla.
Qui colour è una variabile che contiene una tupla. Disegna usando questa variabile: pygame.draw.circle(screen, colour, (moon_x, moon_y), 50).
Sfida
MedioColora la luna in base alla sua posizione. Nella parte delle modifiche, dopo i tasti:
- Se
moon_x < 200, impostacoloursul colore arancione(255, 170, 90). - Elif
moon_x < 440, impostalo sul colore abituale(240, 230, 160). - Altrimenti impostalo sul colore blu
(160, 190, 255). - Disegna la luna con
colour.
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.
moon_x = 320
moon_y = 240
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Modifica gli elementi qui, una volta per fotogramma.
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
moon_x = moon_x - 4
if keys[pygame.K_RIGHT]:
moon_x = moon_x + 4
screen.fill((20, 24, 48))
# Disegna qui, dopo aver riempito lo schermo.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Tutte le lezioni di Python in una finestra di gioco
Esercitati da solo: Playground Pygame