Initial commit: CatDoku puzzle game with leaderboard
This commit is contained in:
commit
642f568ac6
11 files changed
+2988
No files matched your search
@@ -0,0 +1,232 @@
|
||||
# Regole del Gioco
|
||||
|
||||
## Obiettivo
|
||||
|
||||
Completare il puzzle posizionando esattamente **N gatti** su una griglia **N×N**, dove N è la dimensione della griglia scelta (da 6 a 12).
|
||||
|
||||
## Regole Fondamentali
|
||||
|
||||
### 1. Un Gatto per Riga
|
||||
Ogni riga della griglia deve contenere **esattamente un gatto**.
|
||||
|
||||
**Esempio valido (griglia 4×4):**
|
||||
```
|
||||
. . .
|
||||
. . .
|
||||
. . . 🐱
|
||||
. 🐱 . .
|
||||
```
|
||||
|
||||
**Esempio invalido:**
|
||||
```
|
||||
. . .
|
||||
🐱 . . . ← Due gatti nella stessa riga!
|
||||
. . 🐱 .
|
||||
. . . 🐱
|
||||
```
|
||||
|
||||
### 2. Un Gatto per Colonna
|
||||
Ogni colonna della griglia deve contenere **esattamente un gatto**.
|
||||
|
||||
**Esempio valido:**
|
||||
```
|
||||
. . .
|
||||
. . . 🐱
|
||||
. 🐱 . .
|
||||
. . .
|
||||
```
|
||||
|
||||
**Esempio invalido:**
|
||||
```
|
||||
🐱 . . ← Due gatti nella stessa colonna!
|
||||
. . 🐱 .
|
||||
. . .
|
||||
. . . .
|
||||
```
|
||||
|
||||
### 3. Un Gatto per Colore
|
||||
La griglia è divisa in **N regioni colorate contigue**. Ogni regione deve contenere **esattamente un gatto**.
|
||||
|
||||
Le regioni sono generate dal puzzle e sono sempre:
|
||||
- **Contigue**: Tutte le celle dello stesso colore sono connesse
|
||||
- **Complete**: Coprono l'intera griglia
|
||||
- **Bilanciate**: Dimensioni simili (±1 cella)
|
||||
|
||||
**Esempio di regioni (griglia 6×6):**
|
||||
```
|
||||
🟢 🟢 🟢 🔵 🔵 🔵
|
||||
🟢 🟢 🔵 🔵 🟡
|
||||
🟢 🔵 🟡 🟡
|
||||
🟣 🟣 🟡 🟠
|
||||
🟣 🟣 🟠 🟠
|
||||
🟣 🟣 🟣 🟠
|
||||
```
|
||||
|
||||
Ogni colore (🟢🔵🟡🟣🟠) deve avere esattamente un gatto.
|
||||
|
||||
### 4. Nessuna Adiacenza
|
||||
I gatti **non possono essere adiacenti** tra loro in **nessuna direzione**, incluse le diagonali.
|
||||
|
||||
**Zona di esclusione per ogni gatto:**
|
||||
```
|
||||
X X X
|
||||
X 🐱 X
|
||||
X X X
|
||||
```
|
||||
|
||||
Tutte le 8 celle attorno al gatto devono essere libere da altri gatti.
|
||||
|
||||
**Esempio valido:**
|
||||
```
|
||||
🐱 . . .
|
||||
. . . .
|
||||
. . 🐱 .
|
||||
. . . .
|
||||
```
|
||||
|
||||
**Esempio invalido (adiacenti):**
|
||||
```
|
||||
. . .
|
||||
. 🐱 . . ← Gatti adiacenti in diagonale!
|
||||
. . . .
|
||||
. . . .
|
||||
```
|
||||
|
||||
**Esempio invalido (adiacenti orizzontali):**
|
||||
```
|
||||
. 🐱 . ← Gatti adiacenti orizzontalmente!
|
||||
. . . .
|
||||
. . . .
|
||||
. . . .
|
||||
```
|
||||
|
||||
## Interazione con il Gioco
|
||||
|
||||
### Posizionare una X
|
||||
- **Azione**: Click singolo su una cella
|
||||
- **Effetto**: Marca la cella come "non utilizzabile"
|
||||
- **Utilizzo**: Aiuta a tenere traccia delle celle eliminate
|
||||
- **Rimozione**: Click sulla X per rimuoverla
|
||||
|
||||
### Posizionare un Gatto
|
||||
- **Azione**: Pressione prolungata (0.5 secondi) su una cella
|
||||
- **Effetto**: Posiziona un gatto sulla cella
|
||||
- **Validazione**: Il sistema controlla tutte le regole
|
||||
- **Errore**: Se invalido, flash rosso e perdita di una vita
|
||||
- **Rimozione**: Pressione prolungata sul gatto per rimuoverlo
|
||||
|
||||
### Cancellare Tutte le X
|
||||
- **Azione**: Click sul pulsante gomma (✏️)
|
||||
- **Effetto**: Rimuove tutte le X dalla griglia
|
||||
- **Utilizzo**: Utile per ricominciare da zero con le marcature
|
||||
|
||||
### Suggerimento
|
||||
- **Azione**: Click sul pulsante lampadina (💡)
|
||||
- **Effetto**: Posiziona automaticamente un gatto corretto
|
||||
- **Limite**: 3 suggerimenti per livello
|
||||
- **Premium**: Dopo esaurimento, popup con attesa 5 secondi
|
||||
|
||||
## Sistema di Errori
|
||||
|
||||
### Conteggio Errori
|
||||
- Ogni livello inizia con **3 vite** (⚡⚡)
|
||||
- Ogni posizionamento invalido costa **1 vita**
|
||||
- Quando le vite arrivano a **0**, è **Game Over**
|
||||
|
||||
### Cosa Conta come Errore
|
||||
1. Posizionare un gatto su una cella con X
|
||||
2. Posizionare un gatto in una riga che già contiene un gatto
|
||||
3. Posizionare un gatto in una colonna che già contiene un gatto
|
||||
4. Posizionare un gatto in una regione colorata che già contiene un gatto
|
||||
5. Posizionare un gatto adiacente (in qualsiasi direzione) ad un altro gatto
|
||||
|
||||
### Reset Errori
|
||||
- Gli errori si resettano ad **ogni nuovo livello**
|
||||
- Non si accumulano tra livelli
|
||||
- Game Over richiede di ricominciare il livello corrente
|
||||
|
||||
## Sistema di Punteggio
|
||||
|
||||
### Calcolo Punteggio
|
||||
Il punteggio viene calcolato al completamento di ogni livello:
|
||||
|
||||
```
|
||||
Punteggio Livello = (Errori Rimanenti × 10) + (Suggerimenti Rimanenti × 5)
|
||||
```
|
||||
|
||||
**Esempi:**
|
||||
|
||||
| Errori Rimanenti | Hint Rimanenti | Punteggio |
|
||||
|-----------------|----------------|-----------|
|
||||
| 3 | 3 | 45 |
|
||||
| 2 | 2 | 30 |
|
||||
| 1 | 1 | 15 |
|
||||
| 0 | 0 | 0 |
|
||||
|
||||
### Punteggio Totale
|
||||
Il punteggio totale è la somma di tutti i livelli completati nella sessione.
|
||||
|
||||
## Condizione di Vittoria
|
||||
|
||||
Il livello è completato quando:
|
||||
- **Tutti i N gatti** sono stati posizionati correttamente
|
||||
- **Tutte le regole** sono rispettate
|
||||
- **Nessun errore** rimane (opzionale, per punteggio massimo)
|
||||
|
||||
Alla vittoria:
|
||||
1. Il timer si ferma
|
||||
2. Il record viene salvato
|
||||
3. Viene mostrato il punteggio del livello
|
||||
4. Si passa al livello successivo
|
||||
|
||||
## Condizione di Game Over
|
||||
|
||||
Il gioco termina quando:
|
||||
- Gli errori arrivano a **0**
|
||||
|
||||
Al game over:
|
||||
1. Il timer si ferma
|
||||
2. Viene mostrato messaggio di game over
|
||||
3. Opzione per ricominciare il livello
|
||||
|
||||
## Strategie di Gioco
|
||||
|
||||
### Strategia Base
|
||||
1. **Inizia dalle regioni piccole**: Se una regione ha poche celle, è più facile identificare la posizione corretta
|
||||
2. **Cerca vincoli incrociati**: Una cella valida deve soddisfare riga, colonna, colore e adiacenza
|
||||
3. **Usa le X**: Marca le celle eliminate per ridurre le opzioni
|
||||
|
||||
### Strategia Avanzata
|
||||
1. **Pattern recognition**: Cerca pattern nelle regioni colorate
|
||||
2. **Eliminazione progressiva**: Elimina celle impossibili fino a trovare l'unica opzione
|
||||
3. **Backtracking mentale**: Se una scelta porta a un vicolo cieco, torna indietro
|
||||
|
||||
### Errori Comuni da Evitare
|
||||
1. **Dimenticare l'adiacenza diagonale**: I gatti non possono essere adiacenti neanche in diagonale
|
||||
2. **Ignorare le regioni colorate**: Ogni colore deve avere esattamente un gatto
|
||||
3. **Non usare le X**: Le X aiutano a tenere traccia del processo di eliminazione
|
||||
|
||||
## Varianti di Difficoltà
|
||||
|
||||
### Griglie Piccole (6×6 - 7×7)
|
||||
- **Difficoltà**: Facile
|
||||
- **Tempo medio**: 2-5 minuti
|
||||
- **Ideale per**: Principianti
|
||||
|
||||
### Griglie Medie (8×8 - 9×9)
|
||||
- **Difficoltà**: Media
|
||||
- **Tempo medio**: 5-15 minuti
|
||||
- **Ideale per**: Giocatori intermedi
|
||||
|
||||
### Griglie Grandi (10×10 - 12×12)
|
||||
- **Difficoltà**: Difficile
|
||||
- **Tempo medio**: 15-30 minuti
|
||||
- **Ideale per**: Esperti
|
||||
|
||||
## Suggerimenti per Principianti
|
||||
|
||||
1. **Inizia con griglie 6×6** per familiarizzare con le regole
|
||||
2. **Usa tutti e 3 i suggerimenti** nei primi livelli
|
||||
3. **Non avere paura di sbagliare**: Hai 3 vite per livello
|
||||
4. **Osserva le regioni colorate**: Sono il vincolo più visivo
|
||||
5. **Prenditi il tempo**: Non c'è limite di tempo (tranne per la leaderboard)
|
||||
Reference in new issue
Block a user