Menu
CoddyTech

Posiziona le stelle

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

Le ultime quattro lezioni costruiscono un piccolo gioco, Night Sky: fai clic per posizionare le stelle, che scintillano; un contatore mostra quante sono e, quando arrivano a venti, il cielo è pieno. Ogni lezione parte dal codice scritto nella lezione precedente.

Il gioco usa ciò che hai imparato in questa sezione. Le stelle sono un elenco di posizioni, inizialmente vuoto prima del ciclo di gioco. Un clic aggiunge la posizione all’elenco e un ciclo for disegna ogni stella dell’elenco a ogni fotogramma:

stars = []

        if event.type == pygame.MOUSEBUTTONDOWN:
            stars.append(event.pos)

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

Disegna le stelle dopo la luna e il terreno, così appaiono in primo piano. Una stella posizionata sulla luna si troverà quindi davanti a essa, come se fosse più vicina.

challenge icon

Sfida

Facile

Avvia Night Sky:

  1. Crea stars = [] prima del ciclo di gioco.
  2. In caso di evento MOUSEBUTTONDOWN, aggiungi event.pos a stars.
  3. Dopo la luna e il terreno, disegna ogni stella come un cerchio bianco (255, 255, 255) di raggio 3.

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, una volta per fotogramma.

    screen.fill((20, 24, 48))
    # Disegna qui, dopo aver riempito lo schermo.
    pygame.draw.circle(screen, (240, 230, 160), (560, 80), 40)
    pygame.draw.rect(screen, (14, 16, 30), (0, 430, 640, 50))

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

pygame.quit()

Tutte le lezioni di Python in una finestra di gioco

Esercitati da solo: Playground Pygame