Skip to content

PythonBiellaGroup/LearningPythonWithGames

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Imparare Python Programmando Giochi

Impara Python divertendoti! Un percorso completo per trasformare la teoria in pratica attraverso la creazione di videogiochi.

Python PyGame Zero Licenza Difficoltร 


๐Ÿ“š Cosa Troverai Qui

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


๐ŸŽฏ I Giochi

๐Ÿ“บ Presentati nei Video Tutorial

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

๐ŸŽ Giochi Bonus (Non nei Video)

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!


๐ŸŽฅ Video Tutorial (YouTube)

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 โ–ถ๏ธ Guarda
2 Introduzione a PyGame Zero e primi giochi ~2h โ–ถ๏ธ Guarda
3 Tris di giochi a difficoltร  crescente ~2h โ–ถ๏ธ Guarda
4 Quattro giochi avanzati ~2h โ–ถ๏ธ Guarda
BONUS Intervista a Daniel Pope (creatore di PyGame Zero) ~30min โ–ถ๏ธ Guarda

๐Ÿš€ Come Iniziare

Prerequisiti

# Python 3.8 o superiore
python --version

# Installa PyGame Zero
pip install pgzero

# Per il game11 (Battaglia Harry vs Voldemort)
pip install polars

Clona il Repository

git clone https://github.com/PythonBiellaGroup/LearningPythonWithGames.git
cd LearningPythonWithGames

Esegui un Gioco

# Metodo 1: Con Python
python game01.py

# Metodo 2: Con pgzrun (se configurato)
pgzrun game01.py

๐Ÿ“– Struttura del Progetto

LearningPythonWithGames/
โ”œโ”€โ”€ 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

๐ŸŽ“ Percorso di Apprendimento Consigliato

๐ŸŸข Livello 1: Fondamentali (Settimana 1-2)

  1. game01 - Colpisci l'Alieno
  2. game02 - Ape Golosa
  3. game05 - Quiz

Cosa impari: Variabili, funzioni, eventi, sprite, collisioni


๐ŸŸก Livello 2: Intermedio (Settimana 3-4)

  1. game03 - Connetti i Satelliti
  2. game04 - Stella Rossa
  3. game06 - Mongolfiera
  4. game08 - Karate Kid

Cosa impari: Liste, dizionari, animazioni, fisica base, stato del gioco


๐Ÿ”ด Livello 3: Avanzato (Settimana 5-6)

  1. game07 - Flappy Bird
  2. game09 - Stelle
  3. game10 - Invasione dallo Spazio
  4. game04_1 - Stranger Stars (debugging)

Cosa impari: Game loop complessi, OOP, gestione errori, ottimizzazione


๐Ÿ”ต Livello 4: Data & AI (Settimana 7+)

  1. game11 - Harry vs Voldemort

Cosa impari:

  • ๐Ÿ“Š Lavorare con CSV e DataFrames (Polars)
  • ๐Ÿค– Creare un'AI semplice
  • ๐ŸŽฏ Sistema a turni
  • ๐Ÿ“ˆ Manipolazione dati tabulari

๐Ÿ› ๏ธ Strumenti e Tecnologie

  • 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

๐Ÿ“š Risorse Didattiche

๐Ÿ“– Documentazione Ufficiale

๐Ÿ“˜ Libri e Guide

๐ŸŽฏ Workshop e Tutorial


๐ŸŒ Altri Esempi e Progetti

Repository Ufficiali

Collezioni Community


๐ŸŽฎ Prova Online (Senza Installare)

Non vuoi installare Python? Prova questi ambienti online:


๐Ÿ”ง Librerie Utili per PyGame Zero

PyGame Zero Helper

Estensione con funzioni aggiuntive per semplificare lo sviluppo:


๐Ÿค Come Contribuire

Hai creato un nuovo gioco? Hai migliorato uno esistente? Contribuisci!

  1. Fai un fork del repository
  2. Crea un branch: git checkout -b feature/mio-gioco
  3. Aggiungi il tuo gioco con documentazione
  4. Commit: git commit -m 'Add: Nuovo gioco X'
  5. Push: git push origin feature/mio-gioco
  6. Apri una Pull Request

Idee per Contributi

  • โœจ Nuovi giochi con tutorial
  • ๐Ÿ› Correzione bug
  • ๐Ÿ“š Traduzione documentazione
  • ๐ŸŽจ Nuovi asset grafici/sonori
  • ๐Ÿ“ Miglioramenti al README

๐Ÿ’ฌ Community e Supporto


๐Ÿ“œ Licenza

Questo progetto รจ distribuito sotto licenza MIT - vedi il file LICENSE per dettagli.


๐Ÿ™ Ringraziamenti

  • Daniel Pope - Creatore di PyGame Zero
  • Python Biella Group - Community e supporto
  • Tutti i contributori - Grazie per rendere questo progetto migliore!

โญ Ti Piace Questo Progetto?

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!"

About

Learn to develop with python by building video games with Pygame Zero

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •