Impara Python divertendoti! Un percorso completo per trasformare la teoria in pratica attraverso la creazione di videogiochi.
Questo repository contiene una collezione progressiva di giochi creati con PyGame Zero, pensati per insegnare Python in modo pratico e coinvolgente. Ogni gioco introduce nuovi concetti di programmazione, dalle basi fino a tecniche piรน avanzate.
Perfetto per:
- ๐ Studenti delle scuole superiori
- ๐จโ๐ซ Insegnanti che vogliono materiale didattico interattivo
- ๐ Autodidatti che vogliono imparare Python in modo divertente
- ๐จโ๐ป Chiunque voglia capire la programmazione attraverso progetti concreti
Risorse principali: ๐ฎ๐น Italiano
| Gioco | Difficoltร | Concetti Chiave |
|---|---|---|
| game01 - Colpisci l'Alieno | โญ Facile | Eventi mouse, sprite, collisioni base |
| game02 - Ape Golosa | โญ Facile | Movimento, raccolta oggetti, punteggio |
| game03 - Connetti i Satelliti | โญโญ Medio | Pathfinding, grafi, logica di gioco |
| game04 - Stella Rossa | โญโญ Medio | Animazioni, timing, gestione stato |
| game05 - Quiz | โญ Facile | Input utente, logica condizionale, UI |
| game06 - Mongolfiera | โญโญ Medio | Fisica semplice, gravitร , controlli |
| game07 - Flappy Bird | โญโญโญ Difficile | Game loop, fisica, collision detection |
| game08 - Karate Kid | โญโญ Medio | Combo, timing preciso, feedback visivo |
| game09 - Stelle | โญโญ Medio | Generazione procedurale, pattern |
| game10 - Invasione dallo Spazio | โญโญโญ Difficile | Nemici multipli, proiettili, game over |
| Gioco | Difficoltร | Highlight |
|---|---|---|
| game02_1 - Tony alla Ricerca della Musica | โญโญ Medio | Ricerca file, debugging, percorsi |
| game04_1 - Stranger Stars | โญโญโญ Difficile | Debug avanzato, correzione errori |
| game11 - La Battaglia Finale: Harry vs Voldemort | โญโญโญโญ Avanzato | ๐ฅ CSV, Polars, DataFrames, AI base, sistema a turni |
๐ก Novitร ! Il game11 introduce concetti di Data Science e AI/ML usando Polars per gestire dati tabulari (incantesimi) e creare un'intelligenza artificiale per Voldemort!
Un corso completo gratuito di circa 8 ore totali, suddiviso in sessioni tematiche:
| # | Titolo | Durata | Link |
|---|---|---|---|
| 1 | Introduzione a Python e basi della programmazione | ~2h | |
| 2 | Introduzione a PyGame Zero e primi giochi | ~2h | |
| 3 | Tris di giochi a difficoltร crescente | ~2h | |
| 4 | Quattro giochi avanzati | ~2h | |
| BONUS | Intervista a Daniel Pope (creatore di PyGame Zero) | ~30min |
# Python 3.8 o superiore
python --version
# Installa PyGame Zero
pip install pgzero
# Per il game11 (Battaglia Harry vs Voldemort)
pip install polarsgit clone https://github.com/PythonBiellaGroup/LearningPythonWithGames.git
cd LearningPythonWithGames# Metodo 1: Con Python
python game01.py
# Metodo 2: Con pgzrun (se configurato)
pgzrun game01.pyLearningPythonWithGames/
โโโ game01/ - game10/ # Giochi dei video tutorial
โโโ game02_1/ # Tony alla ricerca della musica
โโโ game04_1/ # Stranger Stars (debugging)
โโโ game11/ # Harry vs Voldemort (CSV + Polars)
โ โโโ harry_voldemort.py
โ โโโ spells.csv # Database incantesimi
โ โโโ images/ # Sprite e sfondi
โโโ images/ # Risorse grafiche condivise
โโโ sounds/ # Effetti sonori (se presenti)
โโโ README.md
- game01 - Colpisci l'Alieno
- game02 - Ape Golosa
- game05 - Quiz
Cosa impari: Variabili, funzioni, eventi, sprite, collisioni
- game03 - Connetti i Satelliti
- game04 - Stella Rossa
- game06 - Mongolfiera
- game08 - Karate Kid
Cosa impari: Liste, dizionari, animazioni, fisica base, stato del gioco
- game07 - Flappy Bird
- game09 - Stelle
- game10 - Invasione dallo Spazio
- game04_1 - Stranger Stars (debugging)
Cosa impari: Game loop complessi, OOP, gestione errori, ottimizzazione
- game11 - Harry vs Voldemort
Cosa impari:
- ๐ Lavorare con CSV e DataFrames (Polars)
- ๐ค Creare un'AI semplice
- ๐ฏ Sistema a turni
- ๐ Manipolazione dati tabulari
- Python 3.8+ - Linguaggio di programmazione
- PyGame Zero - Framework per creare giochi senza complessitร
- Polars (game11) - Libreria velocissima per DataFrames
- CSV (game11) - Formato per salvare dati tabulari
- PyGame Zero Book - Libro interattivo gratuito
- Simple Game Tutorials - Tutorial step-by-step
- PyGame Zero Cheat Sheet - Riferimento rapido
- Esempi Ufficiali PyGame Zero
- Code the Classics - Remake di giochi classici
- TechnoVisual Examples
- PyGame Zero Examples
- Eric Clack Tutorials - Giochi con tutorial completi
- Kantel Collection
Non vuoi installare Python? Prova questi ambienti online:
- WithCode.uk - Editor online per PyGame Zero
- Repl.it - IDE completo nel browser
Estensione con funzioni aggiuntive per semplificare lo sviluppo:
Hai creato un nuovo gioco? Hai migliorato uno esistente? Contribuisci!
- Fai un fork del repository
- Crea un branch:
git checkout -b feature/mio-gioco - Aggiungi il tuo gioco con documentazione
- Commit:
git commit -m 'Add: Nuovo gioco X' - Push:
git push origin feature/mio-gioco - Apri una Pull Request
- โจ Nuovi giochi con tutorial
- ๐ Correzione bug
- ๐ Traduzione documentazione
- ๐จ Nuovi asset grafici/sonori
- ๐ Miglioramenti al README
- ๐ฌ Telegram: Python Biella Group
- ๐ค Sito: PythonBiellaGroup
Questo progetto รจ distribuito sotto licenza MIT - vedi il file LICENSE per dettagli.
- Daniel Pope - Creatore di PyGame Zero
- Python Biella Group - Community e supporto
- Tutti i contributori - Grazie per rendere questo progetto migliore!
Se trovi utile questo repository:
- โญ Lascia una stella su GitHub
- ๐ Condividi con amici e studenti
- ๐ Segnala bug o suggerisci miglioramenti
- ๐ป Contribuisci con il tuo codice!
Fatto con โค๏ธ da Python Biella Group
"Il miglior modo per imparare รจ creare qualcosa di divertente!"