Impara Python creando un videogioco
Conosci Python in modo divertente utilizzando le istruzioni passo passo nel nostro nuovo eBook.
Python è uno dei linguaggi di programmazione più popolari in circolazione. Che tu voglia impararlo per lavoro o per divertimento, è un linguaggio potente e utile per qualsiasi scopo. Puoi creare applicazioni che ti aiutano nelle attività quotidiane, giochi divertenti a cui tu e i tuoi amici potete giocare, script per elaborare dati, applicazioni per generare o analizzare informazioni e molto altro ancora.
Non importa cosa intendi fare con un linguaggio di programmazione, pensiamo che sia più divertente imparare creando un gioco che scomponendo numeri o trasformando stringhe. E se sei completamente nuovo alla programmazione, è molto più facile capire perché devi fare qualcosa nel codice quando puoi vedere il codice funzionare in un ambiente familiare come un videogioco.
Potresti non selezionare Python come il miglior linguaggio di programmazione disponibile (ognuno ha la propria risposta per questo), ma è relativamente non intimidatorio. Python può usare molte parole (come is
e is not
) invece di simboli (come =
e !=< /codice>). Gestisce anche molte attività di basso livello in modo che di solito non devi preoccuparti di cose come i tipi di dati e la raccolta dei rifiuti. Ciò significa generalmente che puoi iniziare a programmare senza la frustrazione iniziale che presenta un linguaggio complesso come C o Java.
Per aiutarti a imparare Python, abbiamo scritto un eBook che mostra come creare un videogioco platform con esso. Segui le lezioni per imparare Python mentre costruisci un videogioco. Come ulteriore vantaggio, imparerai anche la logica di programmazione, la sintassi, gli operatori e altro ancora. Puoi vedere risultati immediati mentre impari, quindi tutto ciò che impari viene prontamente rafforzato.
Python in un minuto
Python è un linguaggio generico, il che significa che (come la maggior parte dei linguaggi) fornisce funzioni per eseguire semplici "trucchi" con numeri e lettere. Gli utenti Linux hanno già installato Python. Gli utenti Mac hanno una vecchia versione di Python, ma puoi installare la versione più recente dal sito web Python.org. Gli utenti Windows possono imparare a installare Python da questo articolo sull'installazione di Python su Windows.
Una volta installato, puoi avviare una shell Python interattiva ed eseguire calcoli:
$ python3
>>> 5+6
11
>>> 11/2
5.5
>>> 11//2
5
>>> 11%2
1
Come puoi vedere da questo esempio, sono richieste alcune notazioni speciali, ma sono per lo più familiari a chiunque abbia dimestichezza con la matematica. Forse non sei un tipo da numeri e preferisci le lettere:
$ python3
>>> string = "hello world"
>>> print(string)
hello world
>>> print(string.upper())
HELLO WORLD
>>> print(string[0])
h
>>> print(string[1])
e
>>> print(string[2])
l
>>> print(string[3])
l
>>> print(string[4])
o
Ancora una volta, esiste una notazione speciale per attività relativamente basilari, ma anche senza una spiegazione, probabilmente hai già notato che la notazione [0]
e [1]
ti consente di "suddividere" data e print
presenta i dati sullo schermo.
Pygame tra cinque minuti
Se vuoi creare un videogioco o qualcosa che vada oltre una calcolatrice di base solo con Python, potrebbe richiedere molto studio, lavoro e tempo. Fortunatamente, Python esiste da un paio di decenni, quindi le persone hanno sviluppato librerie di codice per aiutarti a eseguire le tipiche imprese di programmazione con uno sforzo (relativamente) minimo. Pygame è un insieme di moduli di codice progettati per creare videogiochi. Non è l'unica libreria di questo tipo, ma è la più vecchia (nel bene e nel male), quindi c'è molta documentazione ed esempi online.
Inizia imparando il flusso di lavoro dell'ambiente virtuale Python consigliato:
$ python3 -m venv mycode/venv
$ cd mycode
$ source ./venv/bin/activate
(venv)$
Una volta che sei in un ambiente virtuale, puoi installare in sicurezza Pygame nella cartella del tuo progetto:
(venv)$ echo "pygame" >> requirements.txt
(venv)$ python -m pip install -r requirements.txt
[...] Installing collected packages: pygame
Successfully installed pygame-x.y.z
Ora che hai installato Pygame, puoi creare una semplice applicazione demo. È più facile di quanto pensi. Python può eseguire la cosiddetta programmazione orientata agli oggetti (OOP), che è un termine sofisticato dell'informatica per descrivere quando il codice è strutturato come se si stessero creando oggetti fisici con il codice. I programmatori, però, non si lasciano ingannare. Sanno che non stanno realmente realizzando oggetti fisici quando codificano, ma può aiutare immaginarlo in quel modo perché allora capisci i limiti del tuo mondo programmato.
Ad esempio, se fossi bloccato su un'isola deserta e volessi far apparire una tazza di caffè, dovresti raccogliere dell'argilla, modellare una tazza e cuocerla. Se sei molto intelligente, creerai prima uno stampo in modo che ogni volta che desideri un'altra tazza, potrai crearne rapidamente una nuova dal tuo modello. Anche se ciascuna tazza proveniva dallo stesso modello, sarebbero fisicamente indipendenti: se una si rompe, ne restano altre. E potresti far sembrare unica ogni tazza di caffè aggiungendo colori o incisioni.
In Pygame e in molte attività di programmazione utilizzi una logica simile. Una cosa non può apparire nel tuo mondo programmato finché non la definisci. Ecco come far apparire una tazza di caffè in un programma Python e Pygame.
Programmazione ad oggetti con Pygame
Crea un nuovo file chiamato main.py
e inserisci questo codice per avviare il modulo Pygame e utilizzare un modello Pygame per creare una finestra:
import pygame
pygame.init()
screen = pygame.display.set_mode((960,720))
Proprio come potresti utilizzare un modello per creare un oggetto nella vita reale, usi un modello fornito da Pygame per creare uno sprite (che è il termine di Pygame per un oggetto di gioco visivo). Nella programmazione orientata agli oggetti, una classe rappresenta un modello per un oggetto. Digita questo codice nel tuo documento:
class Cup(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
# image
img = pygame.image.load('coffeecup.png').convert()
self.image = img
# volume
self.rect = self.image.get_rect()
self.rect.x = 10
self.rect.y = 10
Questo blocco di codice utilizza il modello sprite
di Pygame per progettare uno sprite di una tazza di caffè. Lo sprite della tua tazza di caffè ha un'immagine grazie a self.image
, mentre self.rect
gli dà volume (larghezza e altezza). Questi sono gli attributi che Pygame si aspetta che uno sprite possieda, ma se stavi creando un videogioco giocabile, potresti dargli qualsiasi altro attributo desideri, come punti salute e un punteggio.
Tutto quello che hai fatto finora è creare una finestra e il modello per una tazza di caffè. Il tuo gioco in realtà non crea ancora una tazza.
L'ultima parte del tuo codice deve utilizzare il tuo modello per generare una tazza e aggiungerla al tuo mondo di gioco. Come forse saprai, i computer sono molto veloci, quindi tecnicamente il codice che hai creato finora durerebbe solo un millisecondo circa. Quando si scrive un'applicazione grafica per computer, è necessario forzare il computer a rimanere aperto indipendentemente dal fatto che ritenga o meno di aver completato le attività prescritte. I programmatori lo fanno con un ciclo infinito, che in Python è rappresentato dall'istruzione when True
(True è sempre vero, quindi il ciclo non finisce mai).
Un ciclo infinito garantisce che l'applicazione rimanga aperta abbastanza a lungo da consentire all'utente del computer di vedere e utilizzare l'applicazione:
cup = Cup()
while True:
pygame.display.update()
screen.blit(cup.image, cup.rect)
Questo esempio di codice crea una tazza dal tuo modello Cup
e quindi aggiorna la visualizzazione utilizzando una funzione Pygame. Infine, disegna l'immagine della tazza all'interno del suo riquadro di delimitazione utilizzando la funzione blit
di Pygame.
Ottieni un grafico
Prima di poter eseguire correttamente il codice, hai bisogno di un'immagine per la tua tazza di caffè. Puoi trovare molte grafiche di tazze di caffè Creative Commons su FreeSVG.org. Ho usato questo. Salva l'immagine nella directory del tuo progetto e chiamala coffeecup.png
.
Esegui il gioco
Avvia la tua applicazione:
(venv)$ python ./main.py
(Seth Kenlon, CC BY-SA 4.0)
Scarica l'eBook sui giochi Python
Pygame è un framework potente e puoi fare molto di più che semplicemente disegnare tazze di caffè sullo schermo. Scarica il nostro eBook gratuito per conoscere meglio Pygame e Python stesso.