Skip to content

PythonBiellaGroup/LearningPythonWithGames

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

  •  
  •  
  •