Skip to content

Commit ea0ca3c

Browse files
authored
Add README for Stranger Stars game
Added a comprehensive README for the Stranger Stars game, detailing gameplay, installation, and educational aspects.
1 parent c33e424 commit ea0ca3c

File tree

1 file changed

+214
-0
lines changed

1 file changed

+214
-0
lines changed

game04_1/README.md

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
# 🎮 Stranger Stars
2+
3+
Un gioco di abilità ispirato alla serie TV **Stranger Things**, realizzato con **Pygame Zero** per scopi didattici.
4+
5+
![Python](https://img.shields.io/badge/Python-3.7+-blue.svg)
6+
![Pygame Zero](https://img.shields.io/badge/Pygame%20Zero-1.2+-green.svg)
7+
![License](https://img.shields.io/badge/License-MIT-yellow.svg)
8+
9+
## 📖 Descrizione
10+
11+
**Stranger Stars** è un gioco dove devi salvare il tuo personaggio preferito di Stranger Things mentre cade (o sale!) insieme ad altri personaggi. Attenzione: ogni tanto entrerai nel **Sottosopra**, dove la gravità si inverte e tutto diventa più caotico!
12+
13+
### 🎯 Obiettivo
14+
15+
- Clicca il personaggio corretto tra quelli che cadono sullo schermo
16+
- Supera tutti i 10 livelli senza sbagliare
17+
- Sopravvivi alle inversioni casuali del Sottosopra!
18+
19+
## 🎬 Come si gioca
20+
21+
1. **Scegli il personaggio**: All'inizio scegli quale dei 5 personaggi vuoi salvare
22+
2. **Clicca veloce**: Durante il gioco, clicca solo il TUO personaggio mentre cade
23+
3. **Attenzione al Sottosopra**: Periodicamente la gravità si inverte e tutto diventa più difficile!
24+
4. **Game Over**: Se clicchi il personaggio sbagliato o lo lasci cadere, hai perso
25+
5. **Vittoria**: Supera tutti i 10 livelli per vincere!
26+
27+
### 📊 Difficoltà crescente
28+
29+
Ogni livello aumenta:
30+
- ⚡ Il numero di personaggi sullo schermo
31+
- 🚀 La velocità di caduta
32+
- 🌀 La frequenza del Sottosopra
33+
34+
## 🛠️ Installazione
35+
36+
### Prerequisiti
37+
38+
- Python 3.7 o superiore
39+
- Pygame Zero
40+
41+
### Setup
42+
43+
1. **Clona il repository**
44+
```bash
45+
git clone https://github.com/tuousername/stranger-stars.git
46+
cd stranger-stars
47+
```
48+
49+
2. **Installa Pygame Zero**
50+
```bash
51+
pip install pgzero
52+
```
53+
54+
3. **Verifica la struttura del progetto**
55+
```
56+
stranger-stars/
57+
├── stranger_stars.py # File principale del gioco
58+
├── images/ # Cartella delle immagini
59+
│ ├── dustin.png
60+
│ ├── lucas.png
61+
│ ├── mike.png
62+
│ ├── undici.png
63+
│ ├── will.png
64+
│ ├── sfondo.png
65+
│ └── sfondo-sottosopra.png
66+
└── README.md
67+
```
68+
69+
4. **Avvia il gioco**
70+
```bash
71+
python stranger_stars.py
72+
```
73+
74+
oppure con Pygame Zero direttamente:
75+
```bash
76+
pgzrun stranger_stars.py
77+
```
78+
79+
## 🎨 Personaggi disponibili
80+
81+
- 🧢 **Dustin** - Il simpatico genio del gruppo
82+
- 🎯 **Lucas** - Il tiratore scelto con la fionda
83+
- 🚴 **Mike** - Il leader del gruppo
84+
- 🔮 **Undici (Eleven)** - La ragazza con i poteri telecinetici
85+
- 🎨 **Will** - L'artista che è stato nel Sottosopra
86+
87+
## 🎓 Aspetti didattici
88+
89+
Questo gioco è stato creato come progetto educativo per insegnare:
90+
91+
### Concetti di programmazione
92+
-**Variabili globali e locali**
93+
-**Funzioni e modularizzazione del codice**
94+
-**Liste e gestione delle collezioni**
95+
-**Condizioni (if/else)**
96+
-**Cicli (for/while)**
97+
-**Gestione degli eventi** (mouse, timer)
98+
99+
### Concetti di game development
100+
- 🎮 **Game loop** (update/draw)
101+
- 🎯 **Collision detection**
102+
- 📊 **Gestione degli stati** (menu, gioco, game over)
103+
- 🎨 **Rendering e grafica**
104+
- ⏱️ **Timer e animazioni**
105+
- 🌊 **Movimento sinusoidale** (oscillazione)
106+
107+
### Struttura del codice
108+
109+
Il codice è organizzato in sezioni chiare:
110+
111+
```python
112+
# 1. COSTANTI - Valori fissi del gioco
113+
WIDTH = 800
114+
HEIGHT = 600
115+
116+
# 2. VARIABILI DI STATO - Stato corrente del gioco
117+
livello_corrente = 1
118+
gioco_terminato = False
119+
120+
# 3. FUNZIONI PRINCIPALI
121+
def draw(): # Disegna tutto
122+
def update(): # Aggiorna logica
123+
def on_mouse_down(): # Gestisce input
124+
125+
# 4. FUNZIONI DI SUPPORTO
126+
def genera_personaggi():
127+
def muovi_personaggi():
128+
def attiva_sottosopra():
129+
```
130+
131+
## 🔧 Personalizzazione
132+
133+
### Modificare la difficoltà
134+
135+
Puoi facilmente modificare le costanti nel codice per rendere il gioco più facile o difficile:
136+
137+
```python
138+
# Velocità dei personaggi
139+
VELOCITA_BASE_MIN = 0.3 # Riduci per rallentare
140+
VELOCITA_BASE_MAX = 0.6 # Aumenta per accelerare
141+
142+
# Frequenza del Sottosopra
143+
TEMPO_MIN_SOTTOSOPRA = 3 # Aumenta per meno caos
144+
TEMPO_MAX_SOTTOSOPRA = 10 # Riduci per più Sottosopra
145+
```
146+
147+
### Aggiungere nuovi personaggi
148+
149+
1. Aggiungi l'immagine nella cartella `images/` (es. `max.png`)
150+
2. Aggiungi il nome alla lista:
151+
```python
152+
LISTA_PERSONAGGI = ["dustin", "lucas", "mike", "undici", "will", "max"]
153+
```
154+
155+
## 🐛 Problemi comuni
156+
157+
### Il gioco non parte
158+
- Verifica di aver installato Pygame Zero: `pip install pgzero`
159+
- Controlla che tutte le immagini siano nella cartella `images/`
160+
161+
### Le immagini non si vedono
162+
- Pygame Zero cerca le immagini in una cartella chiamata esattamente `images` (minuscolo)
163+
- I nomi dei file devono corrispondere esattamente a quelli nel codice
164+
165+
### Il gioco è troppo veloce/lento
166+
- Modifica le costanti `VELOCITA_BASE_MIN` e `VELOCITA_BASE_MAX`
167+
168+
## 📚 Risorse utili
169+
170+
- [Documentazione Pygame Zero](https://pygame-zero.readthedocs.io/)
171+
- [Tutorial Python](https://docs.python.org/it/3/tutorial/)
172+
- [Stranger Things su Netflix](https://www.netflix.com/title/80057281)
173+
174+
## 🤝 Contribuire
175+
176+
Contributi, issues e feature requests sono benvenuti!
177+
178+
1. Fai un Fork del progetto
179+
2. Crea un branch per la tua feature (`git checkout -b feature/AmazingFeature`)
180+
3. Committa i cambiamenti (`git commit -m 'Add some AmazingFeature'`)
181+
4. Pusha il branch (`git push origin feature/AmazingFeature`)
182+
5. Apri una Pull Request
183+
184+
## 📝 Idee per miglioramenti
185+
186+
- [ ] Sistema di punteggio
187+
- [ ] Suoni ed effetti sonori
188+
- [ ] Power-up speciali
189+
- [ ] Modalità multiplayer
190+
- [ ] Leaderboard locale
191+
- [ ] Più livelli e boss fight
192+
- [ ] Animazioni dei personaggi
193+
194+
## 📄 Licenza
195+
196+
Questo progetto è distribuito sotto licenza MIT. Vedi il file `LICENSE` per maggiori dettagli.
197+
198+
## 👨‍💻 Autore
199+
200+
Creato per scopi didattici da **Python Biella Group**.
201+
202+
## 🙏 Crediti
203+
204+
- Serie TV: **Stranger Things** © Netflix
205+
- Engine: **Pygame Zero**
206+
- Ispirazione: La community dei game developer Python
207+
208+
---
209+
210+
⭐ Se questo progetto ti è stato utile, lascia una stella su GitHub!
211+
212+
🐛 Hai trovato un bug? [Apri un issue](https://github.com/tuousername/stranger-stars/issues)
213+
214+
💡 Hai un'idea? [Condividila nelle discussions](https://github.com/tuousername/stranger-stars/discussions)

0 commit comments

Comments
 (0)