Di tutto un pò sul mondo della tecnologia e non solo!
Di tutto un pò sul mondo della tecnologia e non solo!

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

Qualche suono non fa male e rende il gioco un po’ più interessante.

L’aggiunta di una qualche sonorità è abbastanza semplice, nel caso di esempio, ho aggiunto il rumore del tocco del paddle di destra e di sinistra con la palla e una breve colonna sonora in caso di vittoria.

# Inizializza Pygame
pygame.init()

#Gestione delle sonorità
#suono del paddle di sinistra al tocco della palla 
hit_sound_paddle_left = pygame.mixer.Sound('Pong.mp3')
#suono del paddle di destra al tocco della palla
hit_sound_paddle_right = pygame.mixer.Sound('Ping.mp3')
#suono di vittoria
hit_victory = pygame.mixer.Sound('vict1.mp3')

Dopo l’istruzione pygame.init() ho aggiunto le righe relative al paddle di sinistra, quello di destra e al breve stacco musicale in caso di vittoria. Il codice non fa altro che caricare, per esempio sulla variabile hit_sound_paddle_left il suono “Pong.mp3” che ho scaricato da un qualsiasi sito che distribuisce file musicali gratuiti.

A questo punto ho modificato il codice seguente in tal modo.

 # Collisione della palla con i paddle
    if ball_pos.colliderect(left_paddle_pos) or ball_pos.colliderect(right_paddle_pos):
        ball_x_speed = -ball_x_speed
        if ball_pos.colliderect(left_paddle_pos):
            hit_sound_paddle_left.play()
        else:
            hit_sound_paddle_right.play()    

Come si vede, ho gestito con un if la verifica del tocco della palla con il paddle di destra o sinistra e quindi “suonato” con l’istruzione play() la variabile hit_sound_paddle_right o la variabile hit_sound_paddle_left.

Invece, per avviare la musica di vittoria in caso di vincita ho modificato il codice come descritto di seguito.

#Funzione per il messaggio di vittoria
def draw_victory_message(winner):
    victory_color = (255, 0, 0)  # Colore rosso per il messaggio di vittoria
    if winner == "left":
        message = "Ha vinto il giocatore 1!"
        hit_victory.play()
    else:
        message = "Ha vinto il giocatore 2!"
        hit_victory.play()

Sotto al messaggio “Ha vinto il giocatore 1!” o “Ha vinto il giocatore 2!” ho “suonato” la variabile hit_victory con l’istruzione play(), nulla di più semplice e intuitivo.

Pagina Successiva | Pagina Precedente

No votes yet.
Please wait...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

20 + diciannove =

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.