Skip to content

Conversation

@JimmyCodeur
Copy link
Owner

Automated PR by Tickova

Ticket: 1dztkBFN7h

Description

Objective

Étendre le mode multijoueur existant (2 joueurs) pour supporter 4 joueurs en local sur le même écran.

Context

Le jeu supporte actuellement 2 joueurs via la touche F4. Les utilisateurs souhaitent pouvoir jouer à 4 pour des sessions de jeu plus conviviales. Cela augmente significativement la rejouabilité et l'aspect social du jeu.

Technical Details

Basé sur l'architecture existante du mode 2 joueurs:

1. Nouveaux contrôles à définir:

  • Joueur 1: Flèches directionnelles (existant)
  • Joueur 2: ZQSD (existant)
  • Joueur 3: IJKL (I=haut, K=bas, J=gauche, L=droite)
  • Joueur 4: Pavé numérique 8456 (8=haut, 5=bas, 4=gauche, 6=droite)

2. Positions de spawn (coins de l'écran):

  • J1: (100, 100) - Coin supérieur gauche
  • J2: (width-100, 100) - Coin supérieur droit
  • J3: (100, height-100) - Coin inférieur gauche
  • J4: (width-100, height-100) - Coin inférieur droit

3. Nouvelles couleurs:

  • J1: PINK (255, 192, 203)
  • J2: CYAN (0, 255, 255) - existant
  • J3: ORANGE (255, 165, 0)
  • J4: PURPLE (128, 0, 128)

4. Modifications nécessaires:

  • Ajouter touche F5 pour mode 4 joueurs
  • Créer 4 instances de Snake avec positions/couleurs distinctes
  • Étendre check_snake_collision() pour gérer 4 serpents
  • Adapter l'affichage des scores (4 coins de l'écran)
  • Modifier les conditions de victoire (dernier survivant gagne)

5. Gestion des collisions:

  • Chaque serpent doit vérifier les collisions avec les 3 autres
  • Utiliser une liste de serpents et itérer pour les vérifications

Acceptance Criteria

  • Touche F5 active le mode 4 joueurs depuis le menu de difficulté
  • 4 serpents apparaissent aux 4 coins de l'écran avec des couleurs distinctes
  • Chaque joueur peut contrôler son serpent indépendamment
  • Les collisions entre serpents sont correctement détectées
  • Les 4 scores s'affichent distinctement à l'écran
  • Le dernier serpent survivant est déclaré vainqueur
  • La nourriture évite les corps des 4 serpents lors du repositionnement
  • Le jeu reste fluide avec 4 serpents (pas de lag)

Affected Files

  • snake.py (modifications majeures: game_loop, check_snake_collision, gestion événements clavier, affichage scores, menu difficulté)

Notes

  • Considérer la taille de l'écran (1080x900) qui peut devenir étroite avec 4 serpents
  • Les touches du pavé numérique nécessitent que Num Lock soit activé
  • Alternative pour J4 si pavé numérique non disponible: TFGH

This PR was created automatically by Tickova AI Worker

JimmyCodeur and others added 2 commits January 31, 2026 12:55
- Ajout des touches F4 (2 joueurs) et F5 (4 joueurs) dans le menu
- Configuration des 4 joueurs avec positions de spawn distinctes (coins de l'écran)
- Couleurs distinctes: P1 (rose), P2 (cyan), P3 (orange), P4 (violet)
- Contrôles multiples: Flèches (P1), ZQSD (P2), IJKL (P3), Pavé numérique 8456 (P4)
- Détection des collisions entre serpents
- Affichage des scores dans les 4 coins de l'écran
- Système de victoire: dernier serpent survivant gagne
- Génération de nourriture évitant tous les corps de serpents

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants