# Songo — Jeu de Mancala Camerounais
Implémentation web du **Songo**, jeu de mancala traditionnel de la région Beti/Fang au Cameroun.
Trois modes de jeu, intelligence artificielle minimax, sonorisation procédurale style PES, déployable en un clic sur Render.
**Production :**
songo-gon4.onrender.com
---
## Sommaire
- Aperçu
- Règles du jeu
- Fonctionnalités
- Architecture technique
- Structure du projet
- Lancer en local
- Variables d'environnement
- API REST
- Déploiement sur Render
- Crédits
---
## Aperçu
| Écran d'accueil | Plateau de jeu |
|---|---|
| Split-screen identité / action | Plateau bois sombre, greniers animés |
- Design **dark wood** — fond marron #110D09, accent ambre #C4812A
- Entièrement **responsive** (5 breakpoints, jusqu'à 380px)
- **Zéro CDN** — toutes les dépendances hébergées en local
- **Offline-compatible** — les modes Solo et Duel local fonctionnent sans serveur
---
## Règles du jeu (Songo Ewondo)
| Élément | Règle |
|---|---|
| **Plateau** | 2 rangées de 7 cases + 1 grenier par joueur (hors circuit de semis) |
| **Mise en place** | 5 graines dans chaque case, greniers vides (70 graines au total) |
| **Sens de jeu** | Horaire — droite→gauche dans sa rangée, gauche→droite dans la rangée adverse |
| **Tour** | Choisir une case non vide → semer une à une dans le sens horaire (grenier non inclus) |
| **Capture** | La dernière graine tombe dans une case du **camp adverse** qui contient alors **2, 3 ou 4** graines → prendre dans son grenier |
| **Rafle (chaîne)** | Si la case précédente du camp adverse remplit aussi la condition 2-4, on capture aussi, et ainsi de suite en remontant |
| **Case n°1 protégée** | La case la plus à gauche du camp adverse (vu du joueur courant) ne peut jamais être capturée |
| **Restriction gauche** | La case la plus à gauche de sa propre rangée ne peut être jouée que si elle a ≥ 3 graines (sauf seul coup possible) |
| **Anti-affamement** | Si l'adversaire n'a plus de graines, votre coup doit lui en …