Class Puissance4

java.lang.Object
  |
  +--java.rmi.server.RemoteObject
        |
        +--java.rmi.server.RemoteServer
              |
              +--java.rmi.server.UnicastRemoteObject
                    |
                    +--Puissance4

public class Puissance4
extends java.rmi.server.UnicastRemoteObject
implements Puissance4Distant

La classe Puissance4 decrit l'objet accessible sur le registre rmi. Elle gere la construction du tableau des cases, les informations sur les joueurs, la position des pions, les coups des joueurs et determine lorsqu'un joueur a gagne.

See Also:
Serialized Form

Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
Puissance4(java.awt.Dimension dim, int nombreJoueurs)
          Initialise la partie.
 
Method Summary
 char ajouterJoueur(java.lang.String pseudo)
          Fonction qui ajoute un nouveau joueur.
 boolean ajouterPion(char joueur, int colonne)
          Ajoute un pion lorsqu'un joueur a clique dans une colonne du jeu.
 boolean connexionTotale()
          Verifie que tous les joueurs attendus sont enregistres.
 java.awt.Point[] getCasesGagnantes()
          Accesseur de l'attribut casesGagnantes.
 char getDernierJoueur()
          Accesseur de l'attribut dernierJoueur.
 java.awt.Dimension getDim()
          Accesseur de l'attribut dim.
 char getJoueurGagnant()
          Accesseur de l'attribut joueurGagnant.
 int getNbJoueurs()
          Accesseur de l'attribut nbJoueurs.
 java.util.Vector getNomsJoueurs()
          Accesseur de l'attribut nomsJoueurs.
 java.awt.Point getPionAjoute()
          Accesseur de l'attribut pionAjoute.
 java.lang.String getPseudoJoueur(char numJoueur)
          Retourne le nom du joueur dont le numero est passe en parametre.
 boolean getQuitter()
          Accesseur de l'attribut quitter.
 boolean getRecommencer()
          Accesseur de l'attribut recommencer.
 char[][] getTab()
          Accesseur de l'attribut tab.
 void initPartie()
          Initialise les parametres pour un debut de partie.
 boolean matchNul()
          Determine si la partie est nulle.
 char prochainJoueur()
          Renvoie le numero du prochain joueur qui va jouer.
 void setQuitter(boolean b)
          Modificateur de l'attribut quitter.
 void setRecommencer(boolean b)
          Modificateur de l'attribut recommencer.
 
Methods inherited from class java.rmi.server.UnicastRemoteObject
clone, exportObject, exportObject, exportObject, unexportObject
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Puissance4

public Puissance4(java.awt.Dimension dim,
                  int nombreJoueurs)
           throws java.rmi.RemoteException
Initialise la partie. Initialise le tableau qui memorise la position de tous les pions ainsi que les attributs necessaires a la gestion du jeu
Parameters:
dim - Nombres de cases de l'echiquier
nombreJoueurs - Nombre de joueurs qui doivent participer.
Method Detail

getTab

public char[][] getTab()
                throws java.rmi.RemoteException
Accesseur de l'attribut tab. Retourne l'attribut tab.
Specified by:
getTab in interface Puissance4Distant
Returns:
char[][] Tableau qui memorise la position de tous les pions.

getDim

public java.awt.Dimension getDim()
                          throws java.rmi.RemoteException
Accesseur de l'attribut dim. Retourne l'attribut dim.
Specified by:
getDim in interface Puissance4Distant
Returns:
Dimension Largeur et hauteur du tableau de jeu.

getJoueurGagnant

public char getJoueurGagnant()
                      throws java.rmi.RemoteException
Accesseur de l'attribut joueurGagnant. Retourne l'attribut joueurGagnant
Specified by:
getJoueurGagnant in interface Puissance4Distant
Returns:
char Retourne le numero du joueur vainqueur.

getPseudoJoueur

public java.lang.String getPseudoJoueur(char numJoueur)
                                 throws java.rmi.RemoteException
Retourne le nom du joueur dont le numero est passe en parametre.
Specified by:
getPseudoJoueur in interface Puissance4Distant
Parameters:
numJoueur - Numero du joueur
Returns:
String nom du joueur

getPionAjoute

public java.awt.Point getPionAjoute()
                             throws java.rmi.RemoteException
Accesseur de l'attribut pionAjoute. Retourne l'attribut pionAjoute.
Specified by:
getPionAjoute in interface Puissance4Distant
Returns:
Point Retourne les coordonnees du dernier pion ajoute.

getDernierJoueur

public char getDernierJoueur()
                      throws java.rmi.RemoteException
Accesseur de l'attribut dernierJoueur. Retourne l'attribut dernierJoueur
Specified by:
getDernierJoueur in interface Puissance4Distant
Returns:
char Retourne le numero du dernier joueur qui a ajoute un pion.

getCasesGagnantes

public java.awt.Point[] getCasesGagnantes()
                                   throws java.rmi.RemoteException
Accesseur de l'attribut casesGagnantes. Retourne l'attribut casesGagnantes
Specified by:
getCasesGagnantes in interface Puissance4Distant
Returns:
Point Retourne les coordonnees des pions gagnants.

getRecommencer

public boolean getRecommencer()
                       throws java.rmi.RemoteException
Accesseur de l'attribut recommencer. Retourne l'attribut recommencer.
Specified by:
getRecommencer in interface Puissance4Distant
Returns:
boolean Indique si un joueur desire recommencer

getQuitter

public boolean getQuitter()
                   throws java.rmi.RemoteException
Accesseur de l'attribut quitter. Retourne l'attribut quitter.
Specified by:
getQuitter in interface Puissance4Distant
Returns:
boolean Indique si un joueur desire quitter le jeu

getNomsJoueurs

public java.util.Vector getNomsJoueurs()
                                throws java.rmi.RemoteException
Accesseur de l'attribut nomsJoueurs. Retourne l'attribut nomsJoueurs.
Specified by:
getNomsJoueurs in interface Puissance4Distant
Returns:
Vector Retourne la liste des noms des joueurs.

getNbJoueurs

public int getNbJoueurs()
                 throws java.rmi.RemoteException
Accesseur de l'attribut nbJoueurs. Retourne l'attribut nbJoueurs.
Specified by:
getNbJoueurs in interface Puissance4Distant
Returns:
int Retourne le nombre de joueurs dans la partie.

setRecommencer

public void setRecommencer(boolean b)
                    throws java.rmi.RemoteException
Modificateur de l'attribut recommencer. Modifie l'attribut recommencer.
Specified by:
setRecommencer in interface Puissance4Distant
Parameters:
b - Valeur que doit prendre l'attribut recommencer.

setQuitter

public void setQuitter(boolean b)
                throws java.rmi.RemoteException
Modificateur de l'attribut quitter. Modifie l'attribut quitter.
Specified by:
setQuitter in interface Puissance4Distant
Parameters:
b - Valeur que doit prendre l'attribut quitter.

connexionTotale

public boolean connexionTotale()
                        throws java.rmi.RemoteException
Verifie que tous les joueurs attendus sont enregistres.
Specified by:
connexionTotale in interface Puissance4Distant
Returns:
boolean true si tous les joueurs sont connectes, false sinon.

prochainJoueur

public char prochainJoueur()
                    throws java.rmi.RemoteException
Renvoie le numero du prochain joueur qui va jouer.
Specified by:
prochainJoueur in interface Puissance4Distant
Returns:
char Numero du joueur dont c'est le tour.

initPartie

public void initPartie()
                throws java.rmi.RemoteException
Initialise les parametres pour un debut de partie.
Specified by:
initPartie in interface Puissance4Distant

ajouterPion

public boolean ajouterPion(char joueur,
                           int colonne)
                    throws java.rmi.RemoteException
Ajoute un pion lorsqu'un joueur a clique dans une colonne du jeu. Recherche la prochaine case vide de la colonne dans laquelle le joueur a clique et ajoute le pion dans le tableau si c'est possible.
Specified by:
ajouterPion in interface Puissance4Distant
Parameters:
joueur - Numero du joueur qui a clique
colonne - Numero de la colonne dans laquelle le joueur a clique (la premiere colonne est la colonne 0).
Returns:
boolean retourne true si le pion a pu etre ajoute et false sinon

ajouterJoueur

public char ajouterJoueur(java.lang.String pseudo)
                   throws java.rmi.RemoteException
Fonction qui ajoute un nouveau joueur. Attribue un numero a chacun des joueurs a mesure qu'ils s'inscrivent aupres du serveur.
Specified by:
ajouterJoueur in interface Puissance4Distant
Parameters:
pseudo - Pseudo du joueur
Returns:
char Numero attribue au joueur

matchNul

public boolean matchNul()
                 throws java.rmi.RemoteException
Determine si la partie est nulle.
Specified by:
matchNul in interface Puissance4Distant
Returns:
true pour un match nul, false sinon