4 Commits

Author SHA1 Message Date
be983a1107 feat: Intégration WebSocket pour l'interaction multijoueur
Remplace le polling REST inefficace et les tentatives d'envoi de mouvements via REST par une communication WebSocket complète dans MultiplayerActivity.

Modifications clés :
- Ajout de la dépendance OkHttp pour le support WebSocket (action manuelle).
- Utilisation de OkHttp pour établir et gérer la connexion WebSocket (, ).
- Implémentation d'un  () pour gérer les événements :
    - Envoi du message 'register' à l'ouverture ().
    - Réception et traitement des messages 'gameStateUpdate', 'error', 'info' ().
    - Gestion de la fermeture et des erreurs (, , ).
- Mise à jour de l'interface utilisateur (, ) en temps réel basée sur les messages  reçus (en utilisant ).
- Modification de  pour créer et envoyer les messages 'move' via WebSocket ().
- Suppression complète du mécanisme de polling basé sur .
- Gestion du cycle de vie de la connexion WebSocket dans , , .
- Ajout de classes de données internes pour parser/créer les messages WebSocket JSON (, , , etc.).
2025-04-05 11:16:48 +02:00
1977d2de3f Feat: Structure de base pour le mode Multijoueur (Client)
- Ajout dépendances Retrofit, OkHttp logging, Gson dans build.gradle.
- Création des modèles de données (POJO) pour l'API: GameInfo, GameStateResponse, MoveRequest.
- Création de l'interface Retrofit 'ApiService' définissant les endpoints (create/join, get state, make move).
- Création du client 'ApiClient' pour configurer et fournir l'instance Retrofit.
- Création de 'MultiplayerActivity' et 'activity_multiplayer.xml' pour l'écran de jeu multi.
- Implémentation de base dans MultiplayerActivity:
  - Initialisation (findViews, ApiService).
  - Tentative de création/rejoindre une partie via API.
  - Récupération de l'état initial du jeu via API (fetchGameState).
  - Mise à jour basique de l'UI multijoueur (scores, tour, plateau via syncBoardViewMulti).
  - Gestion basique des swipes (handleMultiplayerSwipe) : vérification du tour, envoi du mouvement via API.
  - Implémentation d'un polling simple et inefficace pour récupérer les coups adverses.
  - Gestion basique des erreurs réseau et indicateur de chargement.
- Modification de MainActivity pour lancer MultiplayerActivity via le bouton 'Multijoueur'.
2025-04-04 18:54:51 +02:00
a5cf3509d8 Feat: Bloquage orientation et plein écran 2025-04-04 11:24:15 +02:00
0126838872 Création du projet sous Android Studio 2025-04-03 18:21:45 +02:00