Menu
CoddyTech

Una lista di stelle

Fa parte della sezione Python in una finestra di gioco del percorso Pygame di Coddy. Lezione 24 di 32.

Una lista contiene molti valori in un'unica variabile, in ordine, tra parentesi quadre:

stars = [(100, 80), (220, 160), (360, 100)]

Qui ogni elemento è una tupla di coordinate. stars[0] è il primo elemento, (100, 80), mentre stars[1] è il secondo. Il conteggio inizia da 0, come con range.

Un ciclo for può scorrere una lista. La variabile del ciclo assume a turno il valore di ciascun elemento:

for star in stars:
    pygame.draw.circle(screen, (255, 255, 255), star, 5)

Una posizione è una tupla, quindi star va direttamente dove va il centro. Aggiungi una posizione alla lista e apparirà un'altra stella, senza modificare il ciclo. La lista è la memoria del gioco di ciò che si trova sullo schermo; il ciclo disegna tutto ciò che contiene.

challenge icon

Sfida

Facile

Disegna un cielo di cinque stelle partendo da una lista:

  1. Aggiungi (360, 100), (480, 200) e (580, 70) alla fine di stars.
  2. Sostituisci la riga che disegna stars[0] con for star in stars:, disegnando ciascuna come un cerchio bianco (255, 255, 255) di raggio 5.

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.
stars = [(100, 80), (220, 160)]

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

    # Apporta le modifiche qui, una volta per fotogramma.

    screen.fill((20, 24, 48))
    # Disegna qui, dopo aver riempito lo schermo.
    pygame.draw.circle(screen, (255, 255, 255), stars[0], 5)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tutte le lezioni di Python in una finestra di gioco

Esercitati da solo: Playground Pygame