Skip to content

arcreane/android-project-patrick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👑 Quiz Battle Royale

Jeu multijoueur en JavaFX connecté à une API PHP (proof of concept) — projet ARCREANE.

Jusqu'à 8 joueurs s'affrontent sur des questions à choix multiples. Une mauvaise réponse ne coûte « que » des points : tous les 3 rounds (checkpoint), le joueur au score le plus faible est éliminé. Dernier survivant = vainqueur.

✨ La difficulté (et les points) montent à chaque round, et chaque joueur dispose de deux jokers stratégiques par partie : 🎯 50/50 et 💎 points ×2. En fin de partie : podium animé, confettis et graphe d'évolution des scores. Un dashboard admin (http://localhost:8080/admin.php?key=admin123) expose les statistiques du serveur.

🐍 Deuxième jeu inclus : Serpents & Échelles — plateau de 100 cases dessiné sur Canvas, dé lancé côté serveur, tour par tour (lancer automatique si un joueur tarde), échelles et serpents. Choix du jeu à la création d'une partie ; les bots savent jouer aux deux.

Prérequis

Outil Version Vérification
Java (JDK) 21 ou + java -version
PHP 8.1 ou + (avec pdo_sqlite) php -v
Maven 3.8 ou + (uniquement pour recompiler) mvn -version

Aucune installation de MySQL n'est nécessaire : la base SQLite est créée et remplie automatiquement au premier lancement (6 catégories, 48 questions). Le schéma MySQL équivalent est fourni dans backend/schema.mysql.sql.

Démarrage rapide (démo)

Double-cliquer, dans l'ordre, sur les scripts du dossier demo/ :

  1. demo/1_serveur.bat — démarre l'API sur http://localhost:8080 (laisser ouvert)
  2. demo/2_client.bat — ouvre un client de jeu (relancer pour un 2ᵉ joueur sur le même PC)
  3. demo/3_bots.bat 2 — lance 2 joueurs automatiques qui rejoignent la prochaine partie en lobby
  4. (optionnel) demo/0_reset_bd.bat — remet la base à zéro avant la démo

Ou en ligne de commande :

# Terminal 1 — serveur API
php -S 0.0.0.0:8080 -t backend/public backend/public/index.php

# Terminal 2 — client de jeu (un par joueur)
java -jar frontend/target/quiz-battle-royale.jar

# Terminal 3 — bots de démonstration (optionnel)
php backend/bin/bot.php --name=Momo --skill=0.8

Scénario type : se connecter → créer une partie → les bots (ou d'autres joueurs) la rejoignent → « Lancer la partie » → répondre avant la fin du chrono → podium 🏆

Comptes de démonstration (pré-remplis sur l'écran de connexion) : demo / demo1234 — et demo2 / demo1234 pour un second client humain.

Jouer à plusieurs machines (LAN)

Le serveur écoute déjà sur toutes les interfaces (0.0.0.0). Sur les autres PC, renseigner http://IP_DU_SERVEUR:8080 dans le champ Serveur API de l'écran de connexion.

Recompiler le frontend

cd frontend
mvn package                  # produit target/quiz-battle-royale.jar (autonome)
mvn javafx:run               # ou lancement direct en mode développement

Tests

php backend/bin/smoke_test.php     # partie complète simulée à 3 joueurs (serveur requis)

Structure du dépôt

backend/            API PHP (proof of concept)
  public/index.php    routeur + endpoints JSON
  src/                BD, JWT, logique de jeu
  seed/               questions en français
  bin/                init BD, bot de démo, tests, avatars
  schema.mysql.sql    variante MySQL du schéma
frontend/           client JavaFX (Maven)
  src/main/java/      écrans Login / Lobby / Jeu, client API
demo/               scripts de lancement pour la soutenance
DOCUMENTATION.md    documentation technique complète
RAPPORT.md          rapport de projet
CHEATSHEET.md       antisèche de soutenance

Documentation

About

android-project-patrick created by GitHub Classroom

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors