Logo Lanfrica

valdotankou11-design/songo

Type de record:

software
Créateur:
val
Hôte:
Songo est un jeu de stratégie traditionnel Ekang du Cameroun, désormais accessible en ligne. Affronte un adversaire en temps réel, semez vos graines, récoltez plus que lui et le premier à 40 remporte la partie # SONGO v2 — Installation XAMPP ## TP Dr. MESSI — Multijoueur distant (Ajax + PHP + JSON) --- ## Structure des fichiers ``` songo_v2/ ├── index.php ← Lobby (créer / rejoindre une partie) ├── jeu.php ← Interface de jeu (chaque joueur sur sa machine) ├── ajax.php ← Backend : toutes les actions Ajax ├── parties/ ← Créé automatiquement (stockage JSON des parties) └── README.md ``` --- ## Installation 1. **Copier** le dossier `songo_v2/` dans `C:\xampp\htdocs\` (Windows) ou `/opt/lampp/htdocs/` (Linux) 2. **Démarrer** Apache via XAMPP Control Panel 3. **Accéder** à : `localhost` --- ## Comment jouer en multijoueur ### Joueur 1 (Créateur) 1. Ouvrir `localhost` (ou IP réseau locale) 2. Cliquer **"Créer une partie"**, entrer son pseudo 3. Un code à 4 lettres s'affiche → le communiquer au Joueur 2 ### Joueur 2 1. Ouvrir `http://[IP_du_joueur1]/songo_v2/` dans son navigateur 2. Cliquer **"Rejoindre"**, entrer son pseudo + le code reçu ### Sur le même réseau local (Wi-Fi / câble) - Joueur 1 trouve son IP : `ipconfig` (Windows) ou `ip addr` (Linux) - Joueur 2 utilise cette IP dans son navigateur --- ## Fonctionnement technique | Composant | Rôle | |-----------|------| | `index.php` | Lobby HTML/CSS/JS, formulaires de création/jonction | | `jeu.php` | Plateau de jeu, logique client, polling Ajax | | `ajax.php` | API REST légère : traite les actions POST, lit/écrit JSON | | `parties/*.json` | Un fichier par partie (état complet du jeu) | | `parties/_index.json` | Index des parties en attente | ### Polling Ajax - Chaque client interroge `ajax.php?action=etat_partie` **toutes les 2 secondes** - Quand c'est son tour, le joueur clique une case → requête `jouer_coup` - Le serveur met à jour le fichier JSON → l'adversaire reçoit le nouvel état au prochain poll --- ## Droits du dossier `parties/` Le dossier est créé automatiquement par PHP. Si erreur de permission : `chmod 777 parties/` (Linux)

Languages

Licenses