Menu
CoddyTech

Fai punti con le gemme

Fa parte della sezione Il game loop del percorso Pygame di Coddy. Lezione 15 di 35.

A un gioco serve un punteggio. Tienilo in una variabile creata prima del ciclo, score = 0, e aggiungi 1 con score += 1 ogni volta che il giocatore raccoglie una gemma.

Questo gioco mostra il punteggio come una fila di piccoli quadrati, uno per punto. Un ciclo for disegna una fila di qualsiasi cosa: qui, tre cerchi distanti 30 pixel.

for i in range(3):
    pygame.draw.circle(screen, (255, 200, 0), (20 + 30 * i, 20), 10)

Al primo passaggio i vale 0, poi 1, poi 2, quindi ogni cerchio si trova 30 pixel più a destra. Con range(score) la fila cresce di uno ogni volta che aumenta il punteggio.

challenge icon

Sfida

Facile

Conta le gemme e mostra il conteggio in alto.

  1. Aggiungi score = 0 prima del ciclo e incrementalo di 1 quando un clic colpisce la gemma.
  2. Dopo aver disegnato la gemma, per ogni i in range(score), disegna un rettangolo rosa (240, 110, 180) in (10 + 10 * i, 14, 8, 8).

Premi «Gioca» e raccogli tre gemme: tre segni rosa si allineano in alto a sinistra. Poi premi «Verifica».

Provalo tu

import random
import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Gem Hunt")
clock = pygame.time.Clock()

gx, gy = 225, 165

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.MOUSEBUTTONDOWN:
            x, y = event.pos
            if gx <= x <= gx + 30 and gy <= y <= gy + 30:
                gx = random.randint(15, 435)
                gy = random.randint(55, 315)

    screen.fill((30, 30, 46))
    gem_points = [(gx + 15, gy), (gx + 30, gy + 15), (gx + 15, gy + 30), (gx, gy + 15)]
    pygame.draw.polygon(screen, (80, 220, 255), gem_points)
    mouse_x, mouse_y = pygame.mouse.get_pos()
    pygame.draw.circle(screen, (240, 240, 240), (mouse_x, mouse_y), 10, 2)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Tutte le lezioni di Il game loop

Esercitati da solo: Playground Pygame