From 33204404f6b0bd90f3b191e3a95fe49797e80642 Mon Sep 17 00:00:00 2001 From: xdatomic-the-codeur Date: Mon, 17 Mar 2025 17:33:58 +0100 Subject: [PATCH] Phase 8 : ajout des murs --- src/controleur/Controle.java | 12 ++++++++++++ src/modele/JeuClient.java | 5 +++++ src/modele/JeuServeur.java | 1 + src/vue/Arene.java | 8 ++++++++ 4 files changed, 26 insertions(+) diff --git a/src/controleur/Controle.java b/src/controleur/Controle.java index b4268dc..7323a17 100644 --- a/src/controleur/Controle.java +++ b/src/controleur/Controle.java @@ -1,5 +1,8 @@ package controleur; import modele.Jeu; + +import javax.swing.JPanel; + import controleur.GLOBAL; import modele.JeuClient; import modele.JeuServeur; @@ -89,6 +92,15 @@ public class Controle implements AsyncResponse { case "ajout mur": this.frmArene.ajoutMurs(info); break; + case "ajout panel murs": + leJeu.envoi((Connection)info, this.frmArene.jpnMurs()); + } + } + + public void evenementJeuClient(String ordre, Object info) { + switch(ordre) { + case "mettre murs": + this.frmArene.setJpnMurs((JPanel)info); } } diff --git a/src/modele/JeuClient.java b/src/modele/JeuClient.java index c696fe8..9238cd9 100644 --- a/src/modele/JeuClient.java +++ b/src/modele/JeuClient.java @@ -1,5 +1,7 @@ package modele; +import javax.swing.JPanel; + import controleur.Controle; import outils.connexion.Connection; @@ -26,6 +28,9 @@ public class JeuClient extends Jeu { @Override public void reception(Connection connection, Object info) { + if(info instanceof JPanel) { + controle.evenementJeuClient("mettre murs", info); + } } @Override diff --git a/src/modele/JeuServeur.java b/src/modele/JeuServeur.java index 0aa5294..357c552 100644 --- a/src/modele/JeuServeur.java +++ b/src/modele/JeuServeur.java @@ -41,6 +41,7 @@ public class JeuServeur extends Jeu { String splitted[] = ((String)info).split(GLOBAL.separateur); switch(splitted[0]) { case "pseudo": + controle.evenementJeuServeur("ajout panel murs", connection); String pseudo = splitted[1]; int numPerso = Integer.parseInt(splitted[2]); this.lesJoueurs.get(connection).initPerso(pseudo, numPerso); diff --git a/src/vue/Arene.java b/src/vue/Arene.java index ff8b100..7a081a6 100644 --- a/src/vue/Arene.java +++ b/src/vue/Arene.java @@ -87,4 +87,12 @@ public class Arene extends JFrame { jpnMur.add((JLabel)portougal); jpnMur.repaint(); } + public JPanel jpnMurs() { + return jpnMur; + } + + public void setJpnMurs(JPanel jpnMurs) { + this.jpnMur.add(jpnMurs); + this.jpnMur.repaint(); + } }