2025-02-25 15:05:49 +00:00
|
|
|
package modele;
|
|
|
|
|
import java.util.ArrayList;
|
2025-03-17 13:24:32 +00:00
|
|
|
import java.util.Hashtable;
|
|
|
|
|
|
|
|
|
|
import controleur.Controle;
|
|
|
|
|
import controleur.GLOBAL;
|
|
|
|
|
import outils.connexion.Connection;
|
2025-02-25 15:05:49 +00:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Gestion du jeu côté serveur
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
public class JeuServeur extends Jeu {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Collection de murs
|
|
|
|
|
*/
|
|
|
|
|
private ArrayList<Mur> lesMurs = new ArrayList<Mur>() ;
|
|
|
|
|
/**
|
|
|
|
|
* Collection de joueurs
|
|
|
|
|
*/
|
2025-03-17 13:24:32 +00:00
|
|
|
private Hashtable<Connection, Joueur> lesJoueurs = new Hashtable<Connection, Joueur>() ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private Connection connection;
|
2025-02-25 15:05:49 +00:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Constructeur
|
|
|
|
|
*/
|
2025-03-17 13:24:32 +00:00
|
|
|
public JeuServeur(Controle control) {
|
|
|
|
|
this.controle = control;
|
2025-02-25 15:05:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2025-03-17 13:24:32 +00:00
|
|
|
public void connexion(Connection connection) {
|
|
|
|
|
this.lesJoueurs.put(connection, new Joueur());
|
2025-02-25 15:05:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2025-03-17 13:24:32 +00:00
|
|
|
public void reception(Connection connection, Object info) {
|
|
|
|
|
String splitted[] = ((String)info).split(GLOBAL.separateur);
|
|
|
|
|
switch(splitted[0]) {
|
|
|
|
|
case "pseudo":
|
2025-03-17 16:33:58 +00:00
|
|
|
controle.evenementJeuServeur("ajout panel murs", connection);
|
2025-03-17 13:24:32 +00:00
|
|
|
String pseudo = splitted[1];
|
|
|
|
|
int numPerso = Integer.parseInt(splitted[2]);
|
|
|
|
|
this.lesJoueurs.get(connection).initPerso(pseudo, numPerso);
|
|
|
|
|
}
|
2025-02-25 15:05:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void deconnexion() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Envoi d'une information vers tous les clients
|
|
|
|
|
* fais appel plusieurs fois à l'envoi de la classe Jeu
|
|
|
|
|
*/
|
|
|
|
|
public void envoi() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Génération des murs
|
|
|
|
|
*/
|
|
|
|
|
public void constructionMurs() {
|
2025-03-17 16:11:47 +00:00
|
|
|
for(int i = 0; i<20; i++){
|
|
|
|
|
Mur leMur = new Mur();
|
|
|
|
|
lesMurs.add(leMur);
|
|
|
|
|
this.controle.evenementJeuServeur("ajout mur", leMur.getJLabel());;
|
|
|
|
|
}
|
2025-02-25 15:05:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|