Phase 8.0.5
This commit is contained in:
parent
ba3ddf99a4
commit
65134fcca9
13 changed files with 63 additions and 297 deletions
|
|
@ -1,24 +0,0 @@
|
|||
/**
|
||||
* Gestion de la boule
|
||||
*
|
||||
*/
|
||||
public class Boule extends Objet {
|
||||
|
||||
/**
|
||||
* instance de JeuServeur pour la communication
|
||||
*/
|
||||
private JeuServeur jeuServeur ;
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
*/
|
||||
public Boule() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Tire d'une boule
|
||||
*/
|
||||
public void tireBoule() {
|
||||
}
|
||||
|
||||
}
|
||||
28
src/Jeu.java
28
src/Jeu.java
|
|
@ -1,28 +0,0 @@
|
|||
/**
|
||||
* Informations et méthodes communes aux jeux client et serveur
|
||||
*
|
||||
*/
|
||||
public abstract class Jeu {
|
||||
|
||||
/**
|
||||
* Réception d'une connexion (pour communiquer avec un ordinateur distant)
|
||||
*/
|
||||
public abstract void connexion() ;
|
||||
|
||||
/**
|
||||
* Réception d'une information provenant de l'ordinateur distant
|
||||
*/
|
||||
public abstract void reception() ;
|
||||
|
||||
/**
|
||||
* Déconnexion de l'ordinateur distant
|
||||
*/
|
||||
public abstract void deconnexion() ;
|
||||
|
||||
/**
|
||||
* Envoi d'une information vers un ordinateur distant
|
||||
*/
|
||||
public void envoi() {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
/**
|
||||
* Gestion du jeu côté client
|
||||
*
|
||||
*/
|
||||
public class JeuClient extends Jeu {
|
||||
|
||||
/**
|
||||
* Controleur
|
||||
*/
|
||||
public JeuClient() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connexion() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reception() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Envoi d'une information vers le serveur
|
||||
* fais appel une fois à l'envoi dans la classe Jeu
|
||||
*/
|
||||
public void envoi() {
|
||||
}
|
||||
|
||||
public void deconnexion() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Gestion du jeu côté serveur
|
||||
*
|
||||
*/
|
||||
public class JeuServeur extends Jeu {
|
||||
|
||||
/**
|
||||
* Collection de murs
|
||||
*/
|
||||
private ArrayList<Mur> lesMurs = new ArrayList<Mur>() ;
|
||||
/**
|
||||
* Collection de joueurs
|
||||
*/
|
||||
private ArrayList<Joueur> lesJoueurs = new ArrayList<Joueur>() ;
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
*/
|
||||
public JeuServeur() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connexion() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reception() {
|
||||
}
|
||||
|
||||
@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() {
|
||||
}
|
||||
|
||||
}
|
||||
120
src/Joueur.java
120
src/Joueur.java
|
|
@ -1,120 +0,0 @@
|
|||
/**
|
||||
* Gestion des joueurs
|
||||
*
|
||||
*/
|
||||
public class Joueur extends Objet {
|
||||
|
||||
/**
|
||||
* vie de départ pour tous les joueurs
|
||||
*/
|
||||
private static final int MAXVIE = 10 ;
|
||||
/**
|
||||
* gain de points de vie lors d'une attaque
|
||||
*/
|
||||
private static final int GAIN = 1 ;
|
||||
/**
|
||||
* perte de points de vie lors d'une attaque
|
||||
*/
|
||||
private static final int PERTE = 2 ;
|
||||
|
||||
/**
|
||||
* pseudo saisi
|
||||
*/
|
||||
private String pseudo ;
|
||||
/**
|
||||
* n° correspondant au personnage (avatar) pour le fichier correspondant
|
||||
*/
|
||||
private int numPerso ;
|
||||
/**
|
||||
* instance de JeuServeur pour communiquer avec lui
|
||||
*/
|
||||
private JeuServeur jeuServeur ;
|
||||
/**
|
||||
* numéro d'<EFBFBD>tape dans l'animation (de la marche, touché ou mort)
|
||||
*/
|
||||
private int etape ;
|
||||
/**
|
||||
* la boule du joueur
|
||||
*/
|
||||
private Boule boule ;
|
||||
|
||||
private int vie;
|
||||
|
||||
private int orientation;
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
*/
|
||||
public Joueur() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation d'un joueur (pseudo et numéro, calcul de la 1ère position, affichage, création de la boule)
|
||||
*/
|
||||
public void initPerso() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcul de la première position aléatoire du joueur (sans chevaucher un autre joueur ou un mur)
|
||||
*/
|
||||
private void premierePosition() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Affiche le personnage et son message
|
||||
*/
|
||||
public void affiche() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gère une action reçue et qu'il faut afficher (déplacement, tire de boule...)
|
||||
*/
|
||||
public void action() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gère le déplacement du personnage
|
||||
*/
|
||||
private void deplace() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Contrôle si le joueur touche un des autres joueurs
|
||||
* @return true si deux joueurs se touchent
|
||||
*/
|
||||
private Boolean toucheJoueur() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gain de points de vie après avoir touché un joueur
|
||||
*/
|
||||
public void gainVie() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Perte de points de vie après avoir été touché
|
||||
*/
|
||||
public void perteVie() {
|
||||
}
|
||||
|
||||
|
||||
private Boolean toucheMur() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* vrai si la vie est à 0
|
||||
* @return true si vie = 0
|
||||
*/
|
||||
public Boolean estMort() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Le joueur se déconnecte et disparait
|
||||
*/
|
||||
public void departJoueur() {
|
||||
}
|
||||
|
||||
}
|
||||
13
src/Mur.java
13
src/Mur.java
|
|
@ -1,13 +0,0 @@
|
|||
/**
|
||||
* Gestion des murs
|
||||
*
|
||||
*/
|
||||
public class Mur extends Objet {
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
*/
|
||||
public Mur() {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
/**
|
||||
* Informations communes à tous les objets (joueurs, murs, boules)
|
||||
* permet de mémoriser la position de l'objet et de gérer les collisions
|
||||
*
|
||||
*/
|
||||
public abstract class Objet {
|
||||
|
||||
/**
|
||||
* position X de l'objet
|
||||
*/
|
||||
protected Integer posX ;
|
||||
/**
|
||||
* position Y de l'objet
|
||||
*/
|
||||
protected Integer posY ;
|
||||
|
||||
/**
|
||||
* contrôle si l'objet actuel touche l'objet passé en paramètre
|
||||
* @param objet contient l'objet à contrôler
|
||||
* @return true si les 2 objets se touchent
|
||||
*/
|
||||
public Boolean toucheObjet (Objet objet) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -36,10 +36,13 @@ public class Controle implements AsyncResponse {
|
|||
System.out.println("srv");
|
||||
//
|
||||
new ServeurSocket(this, GLOBAL.PORT);
|
||||
this.leJeu = new JeuServeur(this);
|
||||
|
||||
Arene areneJeu = new Arene();
|
||||
areneJeu.setVisible(true);
|
||||
this.frmArene = new Arene();
|
||||
this.frmArene.setVisible(true);
|
||||
|
||||
this.leJeu = new JeuServeur(this);
|
||||
((JeuServeur)this.leJeu).constructionMurs();
|
||||
|
||||
frmEntreeJeu.dispose();
|
||||
}else {
|
||||
System.out.println("ip");
|
||||
|
|
@ -81,4 +84,12 @@ public class Controle implements AsyncResponse {
|
|||
connection.envoi(obj);
|
||||
}
|
||||
|
||||
public void evenementJeuServeur(String ordre, Object info) {
|
||||
switch(ordre) {
|
||||
case "ajout mur":
|
||||
this.frmArene.ajoutMurs(info);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,4 +9,9 @@ public interface GLOBAL {
|
|||
|
||||
String cheminFonds = "fonds/";
|
||||
String cheminPersos = "personnages/";
|
||||
|
||||
int tailleXArene = 800;
|
||||
int tailleYArene = 590;
|
||||
int largeurMur = 34;
|
||||
int hauteurMur = 35;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,6 +62,11 @@ public class JeuServeur extends Jeu {
|
|||
* Génération des murs
|
||||
*/
|
||||
public void constructionMurs() {
|
||||
for(int i = 0; i<20; i++){
|
||||
Mur leMur = new Mur();
|
||||
lesMurs.add(leMur);
|
||||
this.controle.evenementJeuServeur("ajout mur", leMur.getJLabel());;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,12 @@
|
|||
package modele;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JLabel;
|
||||
|
||||
import controleur.GLOBAL;
|
||||
|
||||
/**
|
||||
* Gestion des murs
|
||||
*
|
||||
|
|
@ -9,6 +17,14 @@ public class Mur extends Objet {
|
|||
* Constructeur
|
||||
*/
|
||||
public Mur() {
|
||||
posX = (int) Math.round(Math.random() * (GLOBAL.tailleXArene - GLOBAL.largeurMur)) ;
|
||||
posY = (int) Math.round(Math.random() * (GLOBAL.tailleYArene - GLOBAL.hauteurMur)) ;
|
||||
|
||||
label = new JLabel();
|
||||
label.setBounds(posX, posY, GLOBAL.largeurMur, GLOBAL.hauteurMur);
|
||||
|
||||
URL resource = getClass().getClassLoader().getResource("murs/mur.gif");
|
||||
label.setIcon(new ImageIcon(resource));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
package modele;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
|
||||
/**
|
||||
* Informations communes <EFBFBD> tous les objets (joueurs, murs, boules)
|
||||
* permet de m<EFBFBD>moriser la position de l'objet et de g<EFBFBD>rer les collisions
|
||||
|
|
@ -15,6 +18,8 @@ public abstract class Objet {
|
|||
*/
|
||||
protected Integer posY ;
|
||||
|
||||
protected JLabel label;
|
||||
|
||||
/**
|
||||
* contr<EFBFBD>le si l'objet actuel touche l'objet pass<EFBFBD> en param<EFBFBD>tre
|
||||
* @param objet contient l'objet <EFBFBD> contr<EFBFBD>ler
|
||||
|
|
@ -24,4 +29,8 @@ public abstract class Objet {
|
|||
return null;
|
||||
}
|
||||
|
||||
public JLabel getJLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import javax.swing.JPanel;
|
|||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
import controleur.GLOBAL;
|
||||
import modele.Mur;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
|
|
@ -24,6 +25,7 @@ public class Arene extends JFrame {
|
|||
private static final long serialVersionUID = 1L;
|
||||
private JPanel contentPane;
|
||||
private JTextField textField;
|
||||
private JPanel jpnMur;
|
||||
|
||||
/**
|
||||
* Launch the application.
|
||||
|
|
@ -56,6 +58,12 @@ public class Arene extends JFrame {
|
|||
System.out.println("❌ Image non trouvée !");
|
||||
}
|
||||
|
||||
jpnMur = new JPanel();
|
||||
jpnMur.setOpaque(false);
|
||||
jpnMur.setBounds(0, 0, 800, 590);
|
||||
contentPane.add(jpnMur);
|
||||
jpnMur.setLayout(null);
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -63,16 +71,20 @@ public class Arene extends JFrame {
|
|||
contentPane.add(lblNewLabel);
|
||||
|
||||
textField = new JTextField();
|
||||
textField.setBounds(0, 590, 792, 31);
|
||||
textField.setBounds(0, 591, 800, 30);
|
||||
contentPane.add(textField);
|
||||
textField.setColumns(10);
|
||||
|
||||
JScrollPane scrollPane = new JScrollPane();
|
||||
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
|
||||
scrollPane.setBounds(0, 620, 792, 98);
|
||||
scrollPane.setBounds(0, 620, 800, 98);
|
||||
contentPane.add(scrollPane);
|
||||
|
||||
JTextArea textArea = new JTextArea();
|
||||
scrollPane.setViewportView(textArea);
|
||||
}
|
||||
public void ajoutMurs(Object portougal) {
|
||||
jpnMur.add((JLabel)portougal);
|
||||
jpnMur.repaint();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue