Skip to content

Commit e4d9ce0

Browse files
committed
rimigliorato readme
1 parent 3aa4744 commit e4d9ce0

File tree

1 file changed

+252
-57
lines changed

1 file changed

+252
-57
lines changed

README.md

Lines changed: 252 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,286 @@
1-
# Imparare Python programmando giochi
2-
Impara a sviluppare in Python sviluppando dei giochi con PyGame Zero.
3-
Le risorse principali sono in lingua italiana.
1+
# 🎮 Imparare Python Programmando Giochi
42

5-
I giochi presentati nei video:
3+
> *Impara Python divertendoti! Un percorso completo per trasformare la teoria in pratica attraverso la creazione di videogiochi.*
64
7-
game01 - Colpisci l'alieno
8-
game02 - Ape Golosa
9-
game03 - Connetti i satelliti
10-
game04 - Stella Rossa
11-
game05 - Quiz
12-
game06 - Mongolfiera
13-
game07 - Flappy Bird
14-
game08 - Karate Kid
15-
game09 - Stelle
16-
game10 - Invasione dallo spazio
5+
[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org/)
6+
[![PyGame Zero](https://img.shields.io/badge/PyGame%20Zero-Latest-green.svg)](https://pygame-zero.readthedocs.io/)
7+
[![Licenza](https://img.shields.io/badge/Licenza-MIT-yellow.svg)](LICENSE)
8+
[![Difficoltà](https://img.shields.io/badge/Difficoltà-Principiante%20→%20Intermedio-orange.svg)]()
179

18-
Giochi non presentati nei video:
10+
---
1911

20-
game02_1 - Tony alla ricerca della musica
21-
game04_1 - Stranger Stars
22-
game11 - La Battaglia Finale: Harry vs Voldemort
12+
## 📚 Cosa Troverai Qui
2313

24-
# Programma
25-
Quattro sessioni video di circa 2h sono disponibili su YouTube.
14+
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.
2615

27-
1 - Introduzione al corso, a Python, basi
28-
[link alla registrazione](https://youtu.be/zjXXappgQak)
16+
**Perfetto per:**
17+
- 🎓 Studenti delle scuole superiori
18+
- 👨‍🏫 Insegnanti che vogliono materiale didattico interattivo
19+
- 🚀 Autodidatti che vogliono imparare Python in modo divertente
20+
- 👨‍💻 Chiunque voglia capire la programmazione attraverso progetti concreti
2921

30-
2 - Introduzione a PyGame Zero e primi giochi
31-
[link alla registrazione](https://youtu.be/qqv4d4IbOpM)
22+
**Risorse principali:** 🇮🇹 **Italiano**
3223

33-
3 - Tris di giochi a difficoltà crescente
34-
[link alla registrazione](https://youtu.be/5BB3_hGxU9o)
24+
---
3525

36-
4 - Altri quattro giochi a difficoltà crescente
37-
[link alla registrazione](https://youtu.be/Mks0j17dv8g)
26+
## 🎯 I Giochi
3827

39-
5 - Bonus track - Intervista a Daniel Pope, il creatore di PyGameZero
40-
[link alla registrazione](https://youtu.be/OXWRhpfB7mQ)
28+
### 📺 Presentati nei Video Tutorial
4129

42-
# Riferimenti
30+
| Gioco | Difficoltà | Concetti Chiave |
31+
|-------|-----------|----------------|
32+
| **game01** - Colpisci l'Alieno | ⭐ Facile | Eventi mouse, sprite, collisioni base |
33+
| **game02** - Ape Golosa | ⭐ Facile | Movimento, raccolta oggetti, punteggio |
34+
| **game03** - Connetti i Satelliti | ⭐⭐ Medio | Pathfinding, grafi, logica di gioco |
35+
| **game04** - Stella Rossa | ⭐⭐ Medio | Animazioni, timing, gestione stato |
36+
| **game05** - Quiz | ⭐ Facile | Input utente, logica condizionale, UI |
37+
| **game06** - Mongolfiera | ⭐⭐ Medio | Fisica semplice, gravità, controlli |
38+
| **game07** - Flappy Bird | ⭐⭐⭐ Difficile | Game loop, fisica, collision detection |
39+
| **game08** - Karate Kid | ⭐⭐ Medio | Combo, timing preciso, feedback visivo |
40+
| **game09** - Stelle | ⭐⭐ Medio | Generazione procedurale, pattern |
41+
| **game10** - Invasione dallo Spazio | ⭐⭐⭐ Difficile | Nemici multipli, proiettili, game over |
4342

44-
https://pygame-zero.readthedocs.io/en/stable/principles.html
43+
### 🎁 Giochi Bonus (Non nei Video)
4544

46-
https://buildmedia.readthedocs.org/media/pdf/pygame-zero/latest/pygame-zero.pdf
45+
| Gioco | Difficoltà | Highlight |
46+
|-------|-----------|-----------|
47+
| **game02_1** - Tony alla Ricerca della Musica | ⭐⭐ Medio | Ricerca file, debugging, percorsi |
48+
| **game04_1** - Stranger Stars | ⭐⭐⭐ Difficile | Debug avanzato, correzione errori |
49+
| **game11** - La Battaglia Finale: Harry vs Voldemort | ⭐⭐⭐⭐ Avanzato | 🔥 **CSV, Polars, DataFrames, AI base, sistema a turni** |
4750

48-
https://electronstudio.github.io/pygame-zero-book/
51+
> 💡 **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!
4952
50-
https://github.com/rbricheno/pygamezero-workshop
53+
---
5154

52-
https://github.com/TechnoVisual/Pygame-Zero/
55+
## 🎥 Video Tutorial (YouTube)
5356

54-
https://simplegametutorials.github.io/pygamezero/
57+
Un **corso completo gratuito** di circa 8 ore totali, suddiviso in sessioni tematiche:
5558

56-
https://blog.withcode.uk/2019/05/create-games-with-python-online-pygamezero-simulator/
59+
| # | Titolo | Durata | Link |
60+
|---|--------|--------|------|
61+
| **1** | Introduzione a Python e basi della programmazione | ~2h | [▶️ Guarda](https://youtu.be/zjXXappgQak) |
62+
| **2** | Introduzione a PyGame Zero e primi giochi | ~2h | [▶️ Guarda](https://youtu.be/qqv4d4IbOpM) |
63+
| **3** | Tris di giochi a difficoltà crescente | ~2h | [▶️ Guarda](https://youtu.be/5BB3_hGxU9o) |
64+
| **4** | Quattro giochi avanzati | ~2h | [▶️ Guarda](https://youtu.be/Mks0j17dv8g) |
65+
| **BONUS** | Intervista a Daniel Pope (creatore di PyGame Zero) | ~30min | [▶️ Guarda](https://youtu.be/OXWRhpfB7mQ) |
5766

58-
https://github.com/markmillr/pgzero-teaching-resources/blob/master/pygame-zero-cheatsheet-pintman-en.pdf
67+
---
5968

60-
https://www.mattlayman.com/blog/2019/teach-kid-code-pygame-zero/
69+
## 🚀 Come Iniziare
6170

62-
# Altri esempi (tutti in inglese)
71+
### Prerequisiti
6372

64-
Esempi ufficiali della repo
65-
https://github.com/lordmauve/pgzero/tree/master/examples
73+
```bash
74+
# Python 3.8 o superiore
75+
python --version
6676

67-
https://github.com/TechnoVisual/Pygame-Zero
77+
# Installa PyGame Zero
78+
pip install pgzero
6879

69-
https://github.com/rajasekaranap/pygamezero-examples
80+
# Per il game11 (Battaglia Harry vs Voldemort)
81+
pip install polars
82+
```
7083

71-
https://github.com/Wireframe-Magazine/Code-the-Classics
84+
### Clona il Repository
7285

73-
https://github.com/Belgin-Android/PgZero_Game
86+
```bash
87+
git clone https://github.com/PythonBiellaGroup/LearningPythonWithGames.git
88+
cd LearningPythonWithGames
89+
```
7490

75-
https://github.com/codecoach-joshua/PGZProjects
91+
### Esegui un Gioco
7692

77-
https://github.com/kantel/pygamezero
93+
```bash
94+
# Metodo 1: Con Python
95+
python game01.py
7896

79-
https://github.com/ScienceOxford/mediaeval_pygamezero
97+
# Metodo 2: Con pgzrun (se configurato)
98+
pgzrun game01.py
99+
```
80100

81-
https://github.com/ericclack
82-
Giochi non completi ma accompagnati da tutorial
101+
---
83102

84-
# Libreria con funzioni aggiuntive per PGZ
103+
## 📖 Struttura del Progetto
85104

86-
https://www.aposteriori.com.sg/pygame-zero-helper/
87-
# Ambienti runtime dove provare online
105+
```
106+
LearningPythonWithGames/
107+
├── game01/ - game10/ # Giochi dei video tutorial
108+
├── game02_1/ # Tony alla ricerca della musica
109+
├── game04_1/ # Stranger Stars (debugging)
110+
├── game11/ # Harry vs Voldemort (CSV + Polars)
111+
│ ├── harry_voldemort.py
112+
│ ├── spells.csv # Database incantesimi
113+
│ └── images/ # Sprite e sfondi
114+
├── images/ # Risorse grafiche condivise
115+
├── sounds/ # Effetti sonori (se presenti)
116+
└── README.md
117+
```
88118

89-
https://create.withcode.uk/
119+
---
90120

91-
https://repl.it/languages/pygame
121+
## 🎓 Percorso di Apprendimento Consigliato
122+
123+
### 🟢 **Livello 1: Fondamentali** (Settimana 1-2)
124+
1. game01 - Colpisci l'Alieno
125+
2. game02 - Ape Golosa
126+
3. game05 - Quiz
127+
128+
**Cosa impari:** Variabili, funzioni, eventi, sprite, collisioni
129+
130+
---
131+
132+
### 🟡 **Livello 2: Intermedio** (Settimana 3-4)
133+
4. game03 - Connetti i Satelliti
134+
5. game04 - Stella Rossa
135+
6. game06 - Mongolfiera
136+
7. game08 - Karate Kid
137+
138+
**Cosa impari:** Liste, dizionari, animazioni, fisica base, stato del gioco
139+
140+
---
141+
142+
### 🔴 **Livello 3: Avanzato** (Settimana 5-6)
143+
8. game07 - Flappy Bird
144+
9. game09 - Stelle
145+
10. game10 - Invasione dallo Spazio
146+
11. game04_1 - Stranger Stars (debugging)
147+
148+
**Cosa impari:** Game loop complessi, OOP, gestione errori, ottimizzazione
149+
150+
---
151+
152+
### 🔵 **Livello 4: Data & AI** (Settimana 7+)
153+
12. game11 - Harry vs Voldemort
154+
155+
**Cosa impari:**
156+
- 📊 Lavorare con CSV e DataFrames (Polars)
157+
- 🤖 Creare un'AI semplice
158+
- 🎯 Sistema a turni
159+
- 📈 Manipolazione dati tabulari
160+
161+
---
162+
163+
## 🛠️ Strumenti e Tecnologie
164+
165+
- **Python 3.8+** - Linguaggio di programmazione
166+
- **PyGame Zero** - Framework per creare giochi senza complessità
167+
- **Polars** (game11) - Libreria velocissima per DataFrames
168+
- **CSV** (game11) - Formato per salvare dati tabulari
169+
170+
---
171+
172+
## 📚 Risorse Didattiche
173+
174+
### 📖 Documentazione Ufficiale
175+
176+
- [PyGame Zero - Documentazione](https://pygame-zero.readthedocs.io/en/stable/principles.html)
177+
- [PyGame Zero - PDF Completo](https://buildmedia.readthedocs.org/media/pdf/pygame-zero/latest/pygame-zero.pdf)
178+
- [Polars - Guida Rapida](https://docs.pola.rs/)
179+
180+
### 📘 Libri e Guide
181+
182+
- [PyGame Zero Book](https://electronstudio.github.io/pygame-zero-book/) - Libro interattivo gratuito
183+
- [Simple Game Tutorials](https://simplegametutorials.github.io/pygamezero/) - Tutorial step-by-step
184+
- [PyGame Zero Cheat Sheet](https://github.com/markmillr/pgzero-teaching-resources/blob/master/pygame-zero-cheatsheet-pintman-en.pdf) - Riferimento rapido
185+
186+
### 🎯 Workshop e Tutorial
187+
188+
- [PyGame Zero Workshop](https://github.com/rbricheno/pygamezero-workshop)
189+
- [Teaching Resources](https://github.com/markmillr/pgzero-teaching-resources)
190+
- [Teach Your Kid to Code](https://www.mattlayman.com/blog/2019/teach-kid-code-pygame-zero/)
191+
192+
---
193+
194+
## 🌍 Altri Esempi e Progetti
195+
196+
### Repository Ufficiali
197+
198+
- [Esempi Ufficiali PyGame Zero](https://github.com/lordmauve/pgzero/tree/master/examples)
199+
- [Code the Classics](https://github.com/Wireframe-Magazine/Code-the-Classics) - Remake di giochi classici
200+
201+
### Collezioni Community
202+
203+
- [TechnoVisual Examples](https://github.com/TechnoVisual/Pygame-Zero)
204+
- [PyGame Zero Examples](https://github.com/rajasekaranap/pygamezero-examples)
205+
- [Eric Clack Tutorials](https://github.com/ericclack) - Giochi con tutorial completi
206+
- [Kantel Collection](https://github.com/kantel/pygamezero)
207+
208+
---
209+
210+
## 🎮 Prova Online (Senza Installare)
211+
212+
Non vuoi installare Python? Prova questi ambienti online:
213+
214+
- [**WithCode.uk**](https://create.withcode.uk/) - Editor online per PyGame Zero
215+
- [**Repl.it**](https://repl.it/languages/pygame) - IDE completo nel browser
216+
217+
---
218+
219+
## 🔧 Librerie Utili per PyGame Zero
220+
221+
### PyGame Zero Helper
222+
Estensione con funzioni aggiuntive per semplificare lo sviluppo:
223+
- [Documentazione e Download](https://www.aposteriori.com.sg/pygame-zero-helper/)
224+
225+
---
226+
227+
## 🤝 Come Contribuire
228+
229+
Hai creato un nuovo gioco? Hai migliorato uno esistente? **Contribuisci!**
230+
231+
1. Fai un **fork** del repository
232+
2. Crea un branch: `git checkout -b feature/mio-gioco`
233+
3. Aggiungi il tuo gioco con documentazione
234+
4. Commit: `git commit -m 'Add: Nuovo gioco X'`
235+
5. Push: `git push origin feature/mio-gioco`
236+
6. Apri una **Pull Request**
237+
238+
### Idee per Contributi
239+
240+
- ✨ Nuovi giochi con tutorial
241+
- 🐛 Correzione bug
242+
- 📚 Traduzione documentazione
243+
- 🎨 Nuovi asset grafici/sonori
244+
- 📝 Miglioramenti al README
245+
246+
---
247+
248+
## 💬 Community e Supporto
249+
250+
- 💬 **Discord**: [Python Biella Group](https://discord.gg/pythonbiella) *(link da aggiornare)*
251+
- 🐦 **Twitter**: [@PythonBiella](https://twitter.com/pythonbiella) *(link da aggiornare)*
252+
- 📧 **Email**: info@pythonbiellagroup.it *(email da verificare)*
253+
254+
---
255+
256+
## 📜 Licenza
257+
258+
Questo progetto è distribuito sotto licenza **MIT** - vedi il file [LICENSE](LICENSE) per dettagli.
259+
260+
---
261+
262+
## 🙏 Ringraziamenti
263+
264+
- **Daniel Pope** - Creatore di PyGame Zero
265+
- **Python Biella Group** - Community e supporto
266+
- **Tutti i contributori** - Grazie per rendere questo progetto migliore!
267+
268+
---
269+
270+
## ⭐ Ti Piace Questo Progetto?
271+
272+
Se trovi utile questo repository:
273+
- ⭐ Lascia una **stella** su GitHub
274+
- 🔄 Condividi con amici e studenti
275+
- 🐛 Segnala bug o suggerisci miglioramenti
276+
- 💻 Contribuisci con il tuo codice!
277+
278+
---
279+
280+
<div align="center">
281+
282+
**Fatto con ❤️ da [Python Biella Group](https://github.com/PythonBiellaGroup)**
283+
284+
*"Il miglior modo per imparare è creare qualcosa di divertente!"*
285+
286+
</div>

0 commit comments

Comments
 (0)