Repository navigation
Duel Cerveau
Claude edited this page Oct 12, 2026
·
1 revision
Ajouté en v2.51, sur le modèle de Brain Wars.
- Page Gym Cerveau → encart ⚔️ Duel Cerveau → Se connecter à un ami. C'est la même connexion « En direct » que pour une partie : l'un crée, l'autre rejoint, un code s'échange une seule fois. Pas de compte, pas de serveur de jeu.
- Lancer un duel : ton ami reçoit le défi et l'accepte ou le refuse.
- 3 manches, tirées parmi 5 exercices : Acuité, Réflexe, Mat, Mémoire, Anticipation. Le niveau est celui du joueur qui défie.
- Tableau des manches (points et secondes de chacun), puis Revanche. Le bilan victoires / défaites est gardé sur l'appareil.
-
Même position pour les deux : celui qui défie tire une graine ; pendant la génération de chaque exercice, le hasard (
Math.random) est remplacé par un générateur à graine (mulberry32, graine + numéro de manche). Les deux appareils construisent exactement le même exercice. - Gagner une manche : le meilleur score ; à score égal (non nul), le plus rapide ; sinon manche nulle.
- Gagner le duel : le plus de manches ; à égalité, le total des points, puis le temps total.
- Le réseau ne compte pas : chaque appareil mesure son propre temps, du début de l'exercice à la réponse, puis l'envoie.
- Limite de 30 s par manche ; la réponse ne compte qu'une fois (un vieux minuteur d'exercice ne peut pas la réécrire).
- Messages
DUEL:<type>:<json>sur le canal WebRTC existant, interceptés en tête de_rtcHandleMessagecommeNULLE::defi,ok,refus,occupe,res. -
gymFinishappelle_duelSurFin, qui envoie le résultat de la manche en cours. - Fermer la connexion interrompt le duel proprement.
- Tests : section 48 de
tests/engine.test.js(même graine → même plateau pour les 5 exercices ; déroulé complet des 3 manches ; refus, occupation, déconnexion, défi mal formé).
Jouer contre des inconnus au hasard demanderait un serveur de mise en relation : la connexion directe actuelle suppose d'échanger un code avec quelqu'un qu'on connaît.