Rivivi un classico. Ecco una breve realizzazione del gioco Pong di Atari in Python con l’aiuto di PyGame.

Rivivi un classico. Ecco una breve realizzazione del gioco Pong di Atari in Python con l’aiuto di PyGame.

Novembre 12, 2023 0 Di Ruggero Grando

Continuando a descrivere il codice, le righe successive servono essenzialmente per descrivere la velocità e la direzione della palla.

ball_x_speed = 3
ball_y_speed = 3
ball_pos = pygame.Rect(width/2, height/2, 10, 10)

Per prima cosa, nelle righe di codice precedenti, viene dichiarata la variabile “ball_x_speed” e le viene assegnato il valore 3. Questa variabile rappresenta la velocità della palla lungo l’asse x. In generale, la velocità determina quanto rapidamente un oggetto si sposta in una direzione specifica. Nel contesto del gioco Pong, una velocità positiva fa sì che la palla si muova verso destra, mentre una velocità negativa la fa muovere verso sinistra lungo l’asse x.

La variabile “ ball_y_speedviene dichiarata e inizializzata con il valore 3 . Questa variabile rappresenta la velocità della palla lungo l’asse y. Allo stesso modo, una velocità positiva fa sì che la palla si muova verso il basso, mentre una velocità negativa la fa muovere verso l’alto lungo l’asse y.

Nella terza riga viene creato la variabile “ball_pos”, un oggetto pygame.Rect che rappresenta la posizione e le dimensioni della palla. La funzione pygame.Rect accetta quattro argomenti: le coordinate x e y della posizione iniziale della palla (che vengono impostate a width/2 e height/2, rispettivamente), e la larghezza e l’altezza della palla (entrambe impostate a 10). La palla viene inizialmente posizionata al centro della finestra di gioco, e le sue dimensioni sono stabilite a 10×10 pixel.

Ora analizziamo le righe di codice che hanno il compito di aggiornare la posizione del paddle in seguito alla pressione dei tasti keydown e keyup. Il codice da analizzare è il seguente.

def update_paddle(paddle_pos, up_key, down_key):
    keys = pygame.key.get_pressed()
    if keys[up_key]:
        paddle_pos.y -= paddle_speed
    if keys[down_key]:
        paddle_pos.y += paddle_speed

La funzione che ho utilizzato per l’aggiornamento della posizione dei paddle l’ho chiamata update_paddle. Questa funzione richiede tre parametri: paddle_pos, up_key e down_key. Il parametro “paddle_pos” rappresenta la posizione corrente del paddle sullo schermo, mentre gli altri due “up_key” e “down_key” sono i tasti associati rispettivamente al movimento verso l’alto e verso il basso del paddle.

Per gestire l’input da tastiera, ho utilizzato la funzione pygame.key.get_pressed(). Questa funzione restituisce una lista di valori booleani che rappresentano lo stato dei tasti. Assegniamo questa lista alla variabile keys.

Quindi, per spostare il paddle verso l’alto, controlliamo se il tasto associato (up_key) è premuto. Utilizzando l’operatore di indicizzazione, accediamo all’elemento corrispondente nella lista keys. Se il tasto è premuto, aggiorniamo la coordinata y della posizione del paddle sottraendo una determinata velocità (paddle_speed). In questo modo, il paddle si muoverà verso l’alto nello schermo.

Mentre, per spostare il paddle verso il basso, controlliamo se il tasto associato (down_key) è premuto. Come per il movimento verso l’alto, utilizziamo l’operatore di indicizzazione per accedere all’elemento corrispondente nella lista keys. Se il tasto è premuto, aggiorniamo la coordinata y della posizione del paddle aggiungendo la velocità (paddle_speed). In questo modo, il paddle si muoverà verso il basso nello schermo.

Pagina Successiva | Pagina Precedente

No votes yet.
Please wait...

Pagine: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18