UrbanMarginal/src/modele/JeuServeur.java

74 lines
1.5 KiB
Java
Raw Normal View History

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
}
}