Menu
CoddyTech

Passo dopo passo

Lezione 20 di 41 del corso Crea giochi con Pygame di Coddy.

Il serpente si muove sempre. Mantieni la direzione in cui sta andando: di quante celle aumentare la colonna e la riga a ogni passo.

  • (1, 0) è a destra, (-1, 0) è a sinistra.
  • (0, 1) è in basso, (0, -1) è in alto.
direction = (1, 0)

while running:
    # eventi
    head = (head[0] + direction[0], head[1] + direction[1])

Una tupla non può essere modificata, quindi a ogni passo ne viene creata una nuova. L'orologio funziona a clock.tick(10): dieci fotogrammi al secondo, quindi il serpente si muove di dieci celle al secondo.

challenge icon

Sfida

Facile

Fai muovere il serpente di una cella alla volta.

  1. Prima del ciclo, imposta direction = (1, 0).
  2. Nel ciclo, dopo gli eventi, sposta la testa di un passo nella direzione indicata da direction.

Premi «Gioca»: la testa avanza verso destra ed esce dalla finestra, per ora. Poi premi «Verifica».

Provalo tu

import pygame

CELL = 20
COLS, ROWS = 24, 18

pygame.init()
screen = pygame.display.set_mode((COLS * CELL, ROWS * CELL))
pygame.display.set_caption("Snake")
clock = pygame.time.Clock()


def draw_cell(cell, color):
    col, row = cell
    pygame.draw.rect(screen, color, (col * CELL + 1, row * CELL + 1, CELL - 2, CELL - 2))


head = (5, 9)

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


    screen.fill((30, 30, 46))
    draw_cell(head, (180, 255, 160))
    pygame.display.flip()
    clock.tick(10)

pygame.quit()

Tutte le lezioni di Crea giochi con Pygame

Esercitati da solo: Playground Pygame