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");
|
System.out.println("srv");
|
||||||
//
|
//
|
||||||
new ServeurSocket(this, GLOBAL.PORT);
|
new ServeurSocket(this, GLOBAL.PORT);
|
||||||
this.leJeu = new JeuServeur(this);
|
|
||||||
|
|
||||||
Arene areneJeu = new Arene();
|
this.frmArene = new Arene();
|
||||||
areneJeu.setVisible(true);
|
this.frmArene.setVisible(true);
|
||||||
|
|
||||||
|
this.leJeu = new JeuServeur(this);
|
||||||
|
((JeuServeur)this.leJeu).constructionMurs();
|
||||||
|
|
||||||
frmEntreeJeu.dispose();
|
frmEntreeJeu.dispose();
|
||||||
}else {
|
}else {
|
||||||
System.out.println("ip");
|
System.out.println("ip");
|
||||||
|
|
@ -81,4 +84,12 @@ public class Controle implements AsyncResponse {
|
||||||
connection.envoi(obj);
|
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 cheminFonds = "fonds/";
|
||||||
String cheminPersos = "personnages/";
|
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
|
* Génération des murs
|
||||||
*/
|
*/
|
||||||
public void constructionMurs() {
|
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;
|
package modele;
|
||||||
|
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
|
||||||
|
import controleur.GLOBAL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gestion des murs
|
* Gestion des murs
|
||||||
*
|
*
|
||||||
|
|
@ -9,6 +17,14 @@ public class Mur extends Objet {
|
||||||
* Constructeur
|
* Constructeur
|
||||||
*/
|
*/
|
||||||
public Mur() {
|
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;
|
package modele;
|
||||||
|
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Informations communes <EFBFBD> tous les objets (joueurs, murs, boules)
|
* 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
|
* 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 Integer posY ;
|
||||||
|
|
||||||
|
protected JLabel label;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* contr<EFBFBD>le si l'objet actuel touche l'objet pass<EFBFBD> en param<EFBFBD>tre
|
* 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
|
* @param objet contient l'objet <EFBFBD> contr<EFBFBD>ler
|
||||||
|
|
@ -24,4 +29,8 @@ public abstract class Objet {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public JLabel getJLabel() {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import javax.swing.JPanel;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
import controleur.GLOBAL;
|
import controleur.GLOBAL;
|
||||||
|
import modele.Mur;
|
||||||
|
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
|
|
@ -24,6 +25,7 @@ public class Arene extends JFrame {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private JPanel contentPane;
|
private JPanel contentPane;
|
||||||
private JTextField textField;
|
private JTextField textField;
|
||||||
|
private JPanel jpnMur;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Launch the application.
|
* Launch the application.
|
||||||
|
|
@ -56,6 +58,12 @@ public class Arene extends JFrame {
|
||||||
System.out.println("❌ Image non trouvée !");
|
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);
|
contentPane.add(lblNewLabel);
|
||||||
|
|
||||||
textField = new JTextField();
|
textField = new JTextField();
|
||||||
textField.setBounds(0, 590, 792, 31);
|
textField.setBounds(0, 591, 800, 30);
|
||||||
contentPane.add(textField);
|
contentPane.add(textField);
|
||||||
textField.setColumns(10);
|
textField.setColumns(10);
|
||||||
|
|
||||||
JScrollPane scrollPane = new JScrollPane();
|
JScrollPane scrollPane = new JScrollPane();
|
||||||
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
|
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
|
||||||
scrollPane.setBounds(0, 620, 792, 98);
|
scrollPane.setBounds(0, 620, 800, 98);
|
||||||
contentPane.add(scrollPane);
|
contentPane.add(scrollPane);
|
||||||
|
|
||||||
JTextArea textArea = new JTextArea();
|
JTextArea textArea = new JTextArea();
|
||||||
scrollPane.setViewportView(textArea);
|
scrollPane.setViewportView(textArea);
|
||||||
}
|
}
|
||||||
|
public void ajoutMurs(Object portougal) {
|
||||||
|
jpnMur.add((JLabel)portougal);
|
||||||
|
jpnMur.repaint();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue