Pygame: Un esempio di Platform di base

Un esempio della costruzione di un gioco a piattaforme estremamente basilare in Python e PyGame: Pointless Platformer!!

Buongiorno a tutti, dopo diverso tempo ho deciso di riprendere in mano pygame (sito ufficiale) e provare a costruire un piccolo gioco a piattaforme, con tutti i problemi che ne derivano. Alla fine di tutto sono uscito con questo esempio molto condensato che spero sia utile a chi un giorno si ritrovasse con la voglia di programmare per davvero (senza strumenti come GameMaker o Game Editor) un videogioco.

Questo gioco non ha alcun obiettivo (per questo è Pointless) ma ha tutte le caratteristiche di un gioco a piattaforme:

  • Simulazione della gravità (senza velocità terminale, anche se è semplice aggiungerla)
  • Collisioni con i blocchi delle piattaforme
  • Movimento del personaggio in tutte le direzioni, salti compresi
  • Una piccola routine per costruire i livelli (a partire da una lista di "#")

Il codice è ampiamente commentato nella gran parte delle proprie sezioni e, diversamente da altri miei progetti come Primitive Shooter è scritto in Python3.

Se volete provarlo ed annoiarvi un pochino i pulsanti sono semplicemente:

  • Freccia Destra > Vai a destra
  • Freccia Sinistra > Vai a sinistra
  • Freccia Su > Salta

Per uscire dal gioco è sufficiente chiudere la finestra di pygame.

A causa di un baco di Pygame se avviate il gioco con IDLE (L'editor di Python usato soprattutto sotto windows) vi ritroverete con l'editor bloccato se chiuderete la finestra di pygame, in tal caso è sufficiente inserire la riga

pygame.quit()

prima di quit()

in modo da ottenere:

if event.type==QUIT:
    pygame.quit()
    quit()</p>

Il gioco sta comodamente entro le 150 righe, commenti compresi, ecco il codice:

Questo è quanto. Buona programmazione a tutti!

Saluti e alla prossima!

Penaz.

social