Phase 5
This commit is contained in:
parent
7dd79ff3b1
commit
d948887a72
3 changed files with 79 additions and 32 deletions
|
|
@ -1,14 +1,21 @@
|
|||
package controleur;
|
||||
import outils.connexion.AsyncResponse;
|
||||
import outils.connexion.ClientSocket;
|
||||
import outils.connexion.Connection;
|
||||
import outils.connexion.ServeurSocket;
|
||||
import vue.Arene;
|
||||
import vue.ChoixJoueur;
|
||||
import vue.EntreeJeu;
|
||||
|
||||
public class Controle {
|
||||
public class Controle implements AsyncResponse {
|
||||
private EntreeJeu frmEntreeJeu ;
|
||||
public String type;
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
*/
|
||||
private Controle() {
|
||||
this.frmEntreeJeu = new EntreeJeu() ;
|
||||
this.frmEntreeJeu = new EntreeJeu(this) ;
|
||||
this.frmEntreeJeu.setVisible(true);
|
||||
}
|
||||
|
||||
|
|
@ -17,4 +24,41 @@ public class Controle {
|
|||
new Controle();
|
||||
}
|
||||
|
||||
public void evenementEntreeJeu(String info) {
|
||||
//
|
||||
if(info.contains("serveur")) {
|
||||
System.out.println("srv");
|
||||
type = "serveur";
|
||||
//
|
||||
new ServeurSocket(this, 6666);
|
||||
|
||||
Arene areneJeu = new Arene();
|
||||
areneJeu.setVisible(true);
|
||||
frmEntreeJeu.dispose();
|
||||
}else {
|
||||
System.out.println("ip");
|
||||
type = "client";
|
||||
//
|
||||
new ClientSocket(this, info, 6666);
|
||||
|
||||
|
||||
//frmEntreeJeu.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reception(Connection connection, String ordre, Object info) {
|
||||
// TODO Auto-generated method stub
|
||||
switch (ordre){
|
||||
case "connexion":
|
||||
if(type.equals("client")) {
|
||||
frmEntreeJeu.dispose();
|
||||
Arene frmArene = new Arene();
|
||||
ChoixJoueur frmChoixJoueur = new ChoixJoueur();
|
||||
frmChoixJoueur.setVisible(true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,26 +13,26 @@ import javax.swing.JOptionPane;
|
|||
*/
|
||||
public class ClientSocket {
|
||||
|
||||
/**
|
||||
* Constructeur : crée le socket de type client pour se connecter à un serveur (avec son ip et port d'écoute)
|
||||
* @param delegate instance de la classe vers laquelle il faut transférer les réponses
|
||||
* @param ip adresse IP du serveur
|
||||
* @param port numéro port d'écoute du serveur
|
||||
*/
|
||||
public ClientSocket (AsyncResponse delegate, String ip, int port) {
|
||||
try {
|
||||
Socket socket = new Socket(ip, port);
|
||||
System.out.println("connexion serveur réussie");
|
||||
// la connexion ne peut se faire que si un objet delegate existe (pour récupérer la réponse)
|
||||
if(delegate != null) {
|
||||
// création d'une connexion pour ce client, pour la communication avec le serveur (envoi et réception d'informations)
|
||||
new Connection(socket, delegate) ;
|
||||
}
|
||||
} catch (UnknownHostException e) {
|
||||
JOptionPane.showMessageDialog(null, "serveur non disponible");
|
||||
} catch (IOException e) {
|
||||
JOptionPane.showMessageDialog(null, "IP incorrecte");
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Constructeur : crée le socket de type client pour se connecter à un serveur (avec son ip et port d'écoute)
|
||||
* @param delegate instance de la classe vers laquelle il faut transférer les réponses
|
||||
* @param ip adresse IP du serveur
|
||||
* @param port numéro port d'écoute du serveur
|
||||
*/
|
||||
public ClientSocket (AsyncResponse delegate, String ip, int port) {
|
||||
try {
|
||||
Socket socket = new Socket(ip, port);
|
||||
System.out.println("connexion serveur réussie");
|
||||
// la connexion ne peut se faire que si un objet delegate existe (pour récupérer la réponse)
|
||||
if(delegate != null) {
|
||||
// création d'une connexion pour ce client, pour la communication avec le serveur (envoi et réception d'informations)
|
||||
new Connection(socket, delegate) ;
|
||||
}
|
||||
} catch (UnknownHostException e) {
|
||||
JOptionPane.showMessageDialog(null, "serveur non disponible");
|
||||
} catch (IOException e) {
|
||||
JOptionPane.showMessageDialog(null, "IP incorrecte");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@ import java.awt.EventQueue;
|
|||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
import controleur.Controle;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JTextField;
|
||||
import java.awt.Font;
|
||||
|
|
@ -16,6 +19,7 @@ public class EntreeJeu extends JFrame {
|
|||
private static final long serialVersionUID = 1L;
|
||||
private JPanel contentPane;
|
||||
private JTextField textField;
|
||||
private Controle control;
|
||||
|
||||
/**
|
||||
* Launch the application.
|
||||
|
|
@ -25,7 +29,7 @@ public class EntreeJeu extends JFrame {
|
|||
/**
|
||||
* Create the frame.
|
||||
*/
|
||||
public EntreeJeu() {
|
||||
public EntreeJeu(Controle ctrl) {
|
||||
setTitle("Urban Marginal");
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
setBounds(100, 100, 330, 160);
|
||||
|
|
@ -44,9 +48,7 @@ public class EntreeJeu extends JFrame {
|
|||
|
||||
btnNewButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
Arene areneJeu = new Arene();
|
||||
areneJeu.setVisible(true);
|
||||
EntreeJeu.this.dispose();
|
||||
ctrl.evenementEntreeJeu("serveur");
|
||||
}
|
||||
});
|
||||
btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||
|
|
@ -76,9 +78,7 @@ public class EntreeJeu extends JFrame {
|
|||
JButton btnNewButton_1 = new JButton("Connect");
|
||||
btnNewButton_1.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
ChoixJoueur choixJoueur = new ChoixJoueur();
|
||||
choixJoueur.setVisible(true);
|
||||
EntreeJeu.this.dispose();
|
||||
ctrl.evenementEntreeJeu(textField.getText());
|
||||
}
|
||||
});
|
||||
btnNewButton_1.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||
|
|
@ -94,5 +94,8 @@ public class EntreeJeu extends JFrame {
|
|||
btnNewButton_2.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||
btnNewButton_2.setBounds(211, 91, 89, 23);
|
||||
contentPane.add(btnNewButton_2);
|
||||
|
||||
control = ctrl;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue