0% ont trouvé ce document utile (0 vote)
9 vues19 pages

Jeu de Mémoire en Java : Code Source

Ce document présente le code pour un jeu de mémoire (« Memorama ») implémenté en Java. Le code crée un plateau de 4x4 et place des paires de cartes à des positions aléatoires. Lorsque le joueur clique sur une carte, celle-ci se retourne pour révéler son image. Si les images des deux cartes retournées correspondent, cela est considéré comme une paire trouvée. Sinon, les cartes se retournent à nouveau. L'objectif est de trouver toutes les paires sur le plateau. Le code inclut également des fonctions pour dessiner.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues19 pages

Jeu de Mémoire en Java : Code Source

Ce document présente le code pour un jeu de mémoire (« Memorama ») implémenté en Java. Le code crée un plateau de 4x4 et place des paires de cartes à des positions aléatoires. Lorsque le joueur clique sur une carte, celle-ci se retourne pour révéler son image. Si les images des deux cartes retournées correspondent, cela est considéré comme une paire trouvée. Sinon, les cartes se retournent à nouveau. L'objectif est de trouver toutes les paires sur le plateau. Le code inclut également des fonctions pour dessiner.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Memorama

------------------------------------------------------------------------------------------------------------
CODE DU TABLEAU SWING
------------------------------------------------------------------------------------------------------------

importer [Link].*;
import [Link].*;[Link](null, "Tu es le joueur 2 !!",
Memorama en Java

import [Link].*;
import [Link];
importer [Link].*;
classe publique Memorama étend Frame implémente MouseListener, MouseMotionListener
{

private int tableau[][] = {{0, 0, 0, 0},//Le tableau du jeu déclare la matrice de 4 * 4


où les cartes seront placées de manière aléatoire en formant 8 paires.
{0, 0, 0, 0},//NOUS REPRÉSENTONS LES ÉLÉMENTS DE LA
MATRICE AVEC UN 0 AU DÉBUT DU JEU CAR AU DÉBUT TOUTES LES
LES LETTRES SE RENCONTRENT
{0, 0, 0, 0},//CACHÉES.
{0, 0, 0, 0}}

private boolean arriba[][];


//private boolean bocaArriba[][];

private final int CX = 100;//CX et CY établissent le centre géométrique de la


graphiques
private final int CY = 100;

private int NE = 0;//pour compter le nombre de clics que le joueur fait et le nombre de
erreurs
private int NC = 0;
private int k;
private int l;

private int Arriba = 0; // pour savoir quelles cartes sont face visible
private int carta1 = 0;
private int carta2 = 0;
private final int EX = 100;//EX et EY établissent la taille des graphiques
private final int EY = 100;

private int mcy, mcx;//Variables avec lesquelles nous connaissons la position et le mouvement du
souris
int privé mmx, mmy;

private Random r = new Random();//nous déclarons la variable r qui stockera la valeur de


aléatoire

public ImageIcon imagenFondo;//déclaration des objets où les images seront chargées


public ImageIcon imagenOculta;
public ImageIcon imagen1;
public ImageIcon imagen2;
public ImageIcon imagen3;
public ImageIcon imagen4;
public ImageIcon imagen5;
public ImageIcon imagen6;
public ImageIcon imagen7;
public ImageIcon imagen8;
public String nombre;

public int o;//la variable o y p guardan temporalmente las posiciones de la segunda carta
au moment d'être retournée
public int p;

public int parejas; //gère le nombre de couples trouvés

public Memorama() {

int i, j, k, l;
addMouseListener(this); //Nous écoutons les événements de la souris
addMouseMotionListener(this); // y des mouvements de souris
setSize(1024, 768);//**********************

new boolean[4][4];
pour (i = 0; i < 4; i++) {
pour (j = 0; j < 4; j++) {
arriba[i][j] = faux;
}
}
pour (k = 1; k <= 8; k++) { // Place les cartes de manière aléatoire, effectue ce processus
jusqu'à remplir la matrice
pour (l = 1; l <= 2; l++) {//c'est ainsi que les paires sont formées en plaçant chacune 2 fois mais
dans une position différente
faire {
i = [Link](4);
j = [Link](4);
} pendant que (tablero[i][j] != 0);
tablero[i][j] = k;
}
}
imagenOculta = new ImageIcon(getClass().getResource("[Link]"));//nous chargeons la
images
new ImageIcon(getClass().getResource("[Link]"));
new ImageIcon(getClass().getResource("[Link]"));
imagen2 = new ImageIcon(getClass().getResource("[Link]"));
imagen3 = new ImageIcon(getClass().getResource("[Link]"));
imagen4 = new ImageIcon(getClass().getResource("[Link]"));
new ImageIcon(getClass().getResource("[Link]"));
new ImageIcon(getClass().getResource("[Link]"));
imagen7 = new ImageIcon(getClass().getResource("[Link]"));
imagen8 = new ImageIcon(getClass().getResource("[Link]"));
setUndecorated(true);
setResizable(false);
setBackground(new Color(130, 158, 16));//Partie du Constructeur
setTitle(" MEMORAMA ");

[Link]().getScreenSize();//pour centrer dans la


écran
Dimension cadre = [Link]();
setLocation((É[Link] / 2 - ([Link] / 2)), É[Link] / 2 -
([Link] / 2));
setVisible(true);//Termine le constructeur
}

public void dibCuadro(Graphics g, int px, int py, int v) {


switch (v) {
cas 0 :
[Link]([Link](), px, py, 98, 98, null);
pause;
cas 1 :
[Link]([Link](), px + 4, py + 4, 90, 90, null);
pause;
cas 2 :
[Link]([Link](), px + 4, py + 4, 90, 90, null);
pause;
cas 3 :
[Link]([Link](), px + 4, py + 4, 90, 90, null);
pause;
cas 4 :
[Link]([Link](), px + 4, py + 4, 90, 90, null);
pause;
cas 5 :
[Link]([Link](), px + 4, py + 4, 90, 90, null);
pause;
cas 6 :
[Link]([Link](), px + 4, py + 4, 90, 90, null);
pause;
cas 7 :
[Link]([Link](), px + 4, py + 4, 90, 90, null);
pause;
cas 8 :
[Link]([Link](), px + 4, py + 4, 90, 90, null);
pause;
}
}

//MÉTHODE OÙ ON DESSINE SUR LE PLATEAU DE JEU


public void paint(Graphics g) {
[Link]([Link](), 0, 0, 1024, 768, null);
[Link]([Link]);//Couleur des lettres
[Link](new Font("Arial", [Link], 22));//Type de lettres
! !
[Link]([Link]); //Un autre couleur
! !
[Link]([Link]);
int i, j;
pour (i = 0; i < 4; i++) {
pour (j = 0; j < 4; j++) {
si (arriba[i][j]) {
dibCuadro(g, CX + j * EX, CY + i * EY, tablero[i][j]);
} sinon {
dibCuadro(g, CX + j * EX, CY + i * EY, 0);
}
}
}

//sortir
[Link]([Link]);
[Link](600, 250, 150, 30);

[Link]([Link]);
[Link](599, 310, 150, 30);

contenu des options du jeu


[Link](new Font("Arial", [Link], 16));
[Link]([Link]);
Quitter le Jeu
[Link]([Link]);
[Link]("Nouveau Jeu", 620, 330);
[Link]([Link]);

//MEDODO OÙ LA MAJORITÉ DES PROCESSUS DU JEU SONT RÉALISÉS


public void sourisCliquée(MouseEvent me) {
NC = NC + 1;//numéro de clics
mcx = [Link]();//prend la position du clic en x
mcy = [Link](); // prend la position du clic en y
int i, j;
//ce if vérifie si l'on clique sur la zone de jeu
si ((mcx >= CX) && (mcy >= CY) && (mcx <= (CX + 4 * EX)) && (mcy <= (CY +
4 * EY)) /*&&!pausa*/) {
i = (mcy - CY) / EY;
j = (mcx - CX) / EX;
//nous sert à vérifier que la carte que l'on essaie de retourner est cachée et le numéro
de couples est moins que 7
si (arriba[i][j] != vrai && parejas <= 7) {
si (!arriba[i][j]) {
Arriba = Arriba + 1;
arriba[i][j] = vrai;repaint();//Tourne la carte à l'endroit
//ce if prend la position de tableau[i][j] et l'assigne à o et p qui sont de la
première lettre
//et la variable carta garde la valeur de la première carte
si (Arriba == 1) {
carta1 += tableau[i][j];
o = i;
p = j;
}
// Lorsque Arriba vaut 2, la variable carta2 prend la valeur de la position de
tableau[i][j]
si (Arriba == 2) {
carta2 += tableau[i][j];
//compare the value of the two cards if they are equal determine that it is a
couple
si (carta1 == carta2) {
[Link](null, "Ils forment un couple",
Memorama en Java
//nous ramenons la valeur des variables à leurs valeurs initiales
0
carta1 = 0;
carta2 = 0;
//nous mettons les cartes en véritables pour les laisser visibles pendant le reste
du jeu
arriba[i][j] = vrai;
vrai
//nous comptabilisons le nombre de couples
couples = couples + 1;
//si le nombre de couples a atteint 8 alors nous considérons que c'est terminé le
jeu
si (parejas == 8) {
Fin du Jeu..!!
JOptionPane.PLAIN_MESSAGE);

}
} sinon {
NE = NE + 1;
[Link](null, "Aucune paire ne se forme..!!",
Memorama en Java
Arriba = 0;
carta1 = 0;
carta2 = 0;
arriba[i][j] = faux;
faux;
}
}
} sinon {
arriba[i][j] = false;//Cata oculta
}//end of the comparison
} // fin de haut
}//fin de l'if de mcx mcy

//termine l'application
si (mcx >= 600 && mcx <= 750 && mcy >= 250 && mcy <= 280) {
[Link](0);
}

//pour réinitialiser le jeu


si (mcx >= 599 && mcx <= 749 && mcy >= 310 && mcy <= 340) {
Memorama nouveauJoueur = new Memorama();
repeindre();
}
}

public void sourisDéplacée(MouseEvent me) {}


public void sourisPressée(MouseEvent e) {}
public void sourisRelâchée(MouseEvent e) {}
public void sourisEntree(MouseEvent me) {}
public void mouseExited(MouseEvent me) {}
public void sourisTraînée(MouseEvent e) {}
/*public static void main(String args[]) {
//Chaîne nombre1 = "";
//nombre1 = [Link](null, "Nom du Joueur", "Memorama
en Java", JOptionPane.PLAIN_MESSAGE);
//if (nombre1 != null) {
Memorama coordenada = new Memorama();
// [Link](nom1);
//}
}*/
}
------------------------------------------------------------------------------------------------------------
CODE DU CLIENT
------------------------------------------------------------------------------------------------------------
importer [Link].*;
import [Link].*;
importer [Link];
importer [Link];
importer [Link].*;
import [Link].*;
importer [Link];
import [Link].*;
importer [Link];
importer [Link].*;
importer [Link];
importer [Link];
public class Cliente4 étend Frame implémente MouseListener, MouseMotionListener
{
int privé tablero[][] = {{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
{0, 0, 0, 0, 0, 0, 0, 0}
{0, 0, 0, 0, 0, 0, 0, 0}
{0, 0, 0, 0, 0, 0, 0, 0}
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}};
private boolean arriba[][] = {{faux, faux, faux, faux, faux, faux, faux, faux},
{faux, faux, faux, faux, faux, faux, faux, faux}
{false, false, false, false,false, false, false, false},
{faux, faux, faux, faux, faux, faux, faux, faux}
{false, false, false, false,false, false, false, false},
{false, false, false, false,false, false, false, false},
{false, false, false, false,false, false, false, false},
{faux, faux, faux, faux, faux, faux, faux, faux}};
private boolean arriba2[][] = {{fausse, fausse, fausse, fausse, fausse, fausse, fausse, fausse},
{false, false, false, false,false, false, false, false},
{false, false, false, false,false, false, false, false},
{false, false, false, false,false, false, false, false},
{false, false, false, false,false, false, false, false},
{faux, faux, faux, faux, faux, faux, faux, faux}
{faux, faux, faux, faux, faux, faux, faux, faux}
{faux, faux, faux, faux, faux, faux, faux, faux}};
private final int CX = 50;//CX et CY établissent le centre géométrique des graphiques
private final int CY = 50;
int privé NE = 0; // pour compter le nombre de clics qu'effectue le joueur et le nombre de
erreurs
private int NC = 0;
private int k;
private int l;
private int t;
private int Arriba = 0;//pour savoir quelles cartes sont face visible
private int carta1 = 0;
private int carta2 = 0;
private final int EX = 50;//EX et EY établissent la taille des graphiques
private final int EY = 50;
int privé mcy, mcx;//Variables avec lesquelles nous connaissons la position et le mouvement de
souris
int privé mmx, mmy;
private Random r = new Random();//nous déclarons la variable r qui stockera la valeur de
aléatoire
public ImageIcon imagenFondo;//déclarons les objets où les images seront chargées
ImageIcon imagenOculta;
public ImageIcon imagen1;
public ImageIcon imagen2;
public ImageIcon imagen3;
public ImageIcon imagen4;
public ImageIcon imagen5;
public ImageIcon imagen6;
public ImageIcon imagen7;
public ImageIcon imagen8;
public ImageIcon imagen9;
public ImageIcon imagen10;
ImageIcon imagen11;
public ImageIcon imagen12;
public ImageIcon imagen13;
public ImageIcon image14;
public ImageIcon imagen15;
public ImageIcon imagen16;
public ImageIcon imagen17;
public ImageIcon imagen18;
image publique ImageIcon imagen19;
public ImageIcon imagen20;
public ImageIcon imagen21;
public ImageIcon imagen22;
public ImageIcon imagen23;
public ImageIcon imagen24;
public ImageIcon imagen25;
public ImageIcon imagen26;
public ImageIcon imagen27;
public ImageIcon imagen28;
public ImageIcon image29;
public ImageIcon imagen30;
public ImageIcon imagen31;
public ImageIcon imagen32;
public MemoInt h ;
public String nombre;
public Timer minuteur;
public int o; // la variable o et p gardent temporairement les positions de la deuxième carte
au moment d'être retournée
public int p;
public int parejas;//gère le contrôle des couples trouvés
public Cliente4(String abc) throws RemoteException
{
//essayer{
nombre=abc;///*[Link](*/abc//);//[Link](1099);
//}catch([Link] e)
//{[Link](e);}

[Link](null, "Vous êtes le joueur 4 ..!!", "Memorama en Java",


JOptionPane.PLAIN_MESSAGE);

int i, j, k, l;

essayer
{

String URLRegistro ="rmi://"+nom +"/Memorama";


h = (MemoInt) [Link](URLRegistro);
tableau = [Link]();
[Link](arriba);
}// fin try
attraper (Exception exc)
{
[Link]("L'exception est ceci : ");[Link]();
} // fin catch
addMouseListener(this); //Nous écoutons les événements de la souris
addMouseMotionListener(this); // et de mouvements de souris
timer = nouvelle minuterie();
[Link](new again(),0, 1*500);
setSize(1024, 768);//**********************
new ImageIcon(getClass().getResource("[Link]"));//nous chargeons le
images
new ImageIcon(getClass().getResource("[Link]"));
imagen1 = new ImageIcon(getClass().getResource("[Link]"));
imagen2 = new ImageIcon(getClass().getResource("[Link]"));
imagen3 = new ImageIcon(getClass().getResource("[Link]"));
imagen4 = new ImageIcon(getClass().getResource("[Link]"));
imagen5 = new ImageIcon(getClass().getResource("[Link]"));
imagen6 = new ImageIcon(getClass().getResource("[Link]"));
new ImageIcon(getClass().getResource("[Link]"));
imagen8 = new ImageIcon(getClass().getResource("[Link]"));
imagen9 = new ImageIcon(getClass().getResource("[Link]"));
imagen10 = new ImageIcon(getClass().getResource("[Link]"));
imagen11 = new ImageIcon(getClass().getResource("[Link]"));
new ImageIcon(getClass().getResource("[Link]"));
imagen13 = nouvelle ImageIcon(getClass().getResource("[Link]"));
imagen14 = new ImageIcon(getClass().getResource("[Link]"));
new ImageIcon(getClass().getResource("[Link]"));
imagen16 = new ImageIcon(getClass().getResource("[Link]"));
imagen17 = new ImageIcon(getClass().getResource("[Link]"));
imagen18 = new ImageIcon(getClass().getResource("[Link]"));
new ImageIcon(getClass().getResource("[Link]"));
imagen20 = new ImageIcon(getClass().getResource("[Link]"));
new ImageIcon(getClass().getResource("[Link]"));
imagen22 = new ImageIcon(getClass().getResource("[Link]"));
imagen23 = new ImageIcon(getClass().getResource("[Link]"));
imagen24 = nouvelle ImageIcon(getClass().getResource("[Link]"));
imagen25 = new ImageIcon(getClass().getResource("[Link]"));
imagen26 = new ImageIcon(getClass().getResource("[Link]"));
imagen27 = new ImageIcon(getClass().getResource("[Link]"));
imagen28 = new ImageIcon(getClass().getResource("[Link]"));
imagen29 = new ImageIcon(getClass().getResource("[Link]"));
new ImageIcon(getClass().getResource("[Link]"));
imagen31 = new ImageIcon(getClass().getResource("[Link]"));
imagen32 = new ImageIcon(getClass().getResource("[Link]"));
setUndecorated(true);
setResizable(false);
setBackground(new Color(130, 158, 16));//Partie du Constructeur
setTitle(" MEMORAMA ");
Dimension Écran = [Link]().getScreenSize();//pour centrer sur la
écran
Dimension cadre = [Link]();
setLocation(([Link] / 2 - ([Link] / 2)), [Link] / 2 -
(hauteur_du_cadre / 2));
setVisible(true);//Termine le constructeur
}

public void actualise()


{
essayer
{

String URLRegistro ="rmi://"+nom+"/Memorama";


h =(MemoInt) [Link](URLRegistro);
[Link](arriba2);
} // fin try
attraper (Exception exc)
{}
}
public boolean vérifie()
{
pour(int q=0;q<8;q++)
{
pour(int w=0;w<8;w++)
{
si(arriba[q][w]==false){return false;}
}
}
retourner vrai;
}public void arri()
{
essayer
{

rmi://+nombre+/Memorama
h =(MemoInt) [Link](URLRegistro);
[Link](en haut);
}// fin essayer
attraper (Exception exc)
{}
}
public boolean mt()
{
essayer
{

rmi://
h =(MemoInt) [Link](URLRegistro);
si([Link]()==4){arriba=[Link](arriba2);repaint();return true;}
}// fin try
attraper (Exception exc)
{}actualiser();retourner faux ;
}
public void dibCuadro(Graphics g, int px, int py, int v) {
switch (v) {
cas 0 :
[Link]([Link](), px, py, 50, 50, null);
pause;
cas 1 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 2 :
[Link]([Link](), px, py, 50, 50, null);
casser;
cas 3 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 4 :
[Link]([Link](), px, py, 50, 50, null);
pause;
cas 5 :
[Link]([Link](), px, py, 50, 50, null);
pause;
cas 6 :
[Link]([Link](), px, py, 50, 50, null);
pause;
cas 7 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 8 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 9 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 10 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 11 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 12 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 13 :
[Link]([Link](), px, py, 50, 50, null);
pause;
cas 14 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 15 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 16 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 17 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 18 :
[Link]([Link](), px, py, 50, 50, null);
pause;
cas 19 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 20 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 21 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 22 :
[Link]([Link](), px, py, 50, 50, null);
pause;
cas 23 :
[Link]([Link](), px, py, 50, 50, null);
pause;
cas 24 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 25 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 26 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 27 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 28 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 29 :
[Link]([Link](), px , py, 50, 50, null);
casser;
cas 30 :
[Link]([Link](), px, py, 50, 50, null);
pause;
cas 31 :
[Link]([Link](), px , py, 50, 50, null);
pause;
cas 32 :
[Link]([Link](), px, py, 50, 50, null);
pause;

}
}
public void paint(Graphics g) {
[Link]([Link](), 0, 0, 1024, 768, null);
[Link]([Link]);//Couleur des lettres
[Link](new Font("Arial", [Link], 22));//Type de lettres
! !
[Link]([Link]); //Un autre couleur
! !
[Link]([Link]);
int i, j;
pour (i = 0; i < 8; i++) {
pour (j = 0; j < 8; j++) {
si (arriba[i][j]) {
dibCuadro(g, CX + j * EX, CY + i * EY, tableau[i][j]);
} sinon {
dibCuadro(g, CX + j * EX, CY + i * EY, 0);
}
}
}
[Link]([Link]);
[Link](600, 250, 150, 30);
[Link](new Font("Arial", [Link], 16));
[Link]([Link]);
Quitter le Jeu
[Link]([Link]);
}
public void mouseClicked(MouseEvent me) {

si(mt()){

si (comprueba() == vrai) {
[Link](null, "Fin du Jeu..!!\nVotre nombre de paires ")
+couples, "Memorama en Java", JOptionPane.PLAIN_MESSAGE);
}
NC = NC + 1;//nombre de clics
mcx = [Link]();//prend la position du clic en x
mcy = [Link](); // prend la position du clic en y
int i, j;
si ((mcx >= CX) && (mcy >= CY) && (mcx <= (CX + 8 * EX)) && (mcy <= (CY +
8 * EY)) /*&&!pausa*/) {
i = (mcy - CY) / EY; j = (mcx - CX) / EX;
si (arriba[i][j] != vrai && parejas <= 15) {
si (!arriba[i][j]) {
Arriba = Arriba + 1;
arriba[i][j] = vrai; arri(); repaint();//Retourne la carte face visible
si (Arriba == 1) {
carta1 += tableau[i][j];o = i;p = j;
}
si (Arriba == 2) {
carta2 += tableau[i][j];
//compare the value of the two cards if they are equal determine that it is a
couple
si (carta1 == carta2) {
Formant une paire
Memorama en Java
Arriba = 0;carta1 = 0;carta2 = 0;arriba[i][j] = true;arriba[o][p] = true;
actualise();redessine();
couples = couples + 1;
si (comprueba() == vrai) {
[Link](null, "Fin du Jeu..!!\nVotre nombre de paires")
trouvées : "+couples, "Memorama en Java", JOptionPane.PLAIN_MESSAGE);
}
} sinon {
NE = NE + 1;
[Link](null, "Aucune forme de couple..!!",
Memorama en Java
0
arriba[i][j] = faux;
arriba[o][p] = faux;;
arri();actualiza();repaint();
essayer {

rmi:// + nombre + /Memorama


h =(MemoInt) [Link](URLRegistro);
[Link]();
} catch (Exception exc) {}
}
}
} sinon {
arriba[i][j] = faux;
actualise();
si (comprueba() == vrai) {
[Link](null, "Fin du Jeu..!!\nVotre nombre de paires "
+couples, "Memorama en Java", JOptionPane.PLAIN_MESSAGE);
}
repaint();//Cata cachée
} // fin de la comparaison
}//fin du dessus
} //fin de l'if de mcx mcy
si (mcx >= 600 && mcx <= 750 && mcy >= 250 && mcy <= 280) {
[Link](0);
}

}else{
Ce n'est pas ton tour..!!
JOptionPane.PLAIN_MESSAGE);

}
public void sourisDéplacée(MouseEvent me) {}
public void sourisAppuyée(MouseEvent e) {}
public void sourisRelâchée(MouseÉvénement e) {}
public void sourisEntree(MouseEvent me) {}
public void sourisSortie(MouseEvent me) {}
public void mouseDragged(MouseEvent e) {}
classe à nouveau étend TimerTask {
public void run() {
si(!mt()){
1
repeindre();
}else{
si(t==1){
[Link](null, "Maintenant, c'est ton tour..!!", "Memorama en
Java" , JOptionPane.PLAIN_MESSAGE);
t=0;
}
}

}
}
public static void main(String args[]) throws RemoteException
{
Client4 Client4 = new Client4(args[0]);

} // fin main
} // fin de la classe
------------------------------------------------------------------------------------------------------------
CODE DU SERVEUR
------------------------------------------------------------------------------------------------------------
importer [Link] ;
importer [Link].*;
import [Link];
importer [Link];
import [Link].*;
importer [Link].*;
classe publique Serveur
{
public static void main(String args[])
{
Chaine URLRegistro;
essayer
{
//[Link](1099);
MemoImp objExporté = new MemoImp();
String hôte = [Link]().getHostName();
rmi://"+args[0]+"/Memorama";
[Link](URLRegistro, objExportado);
Serveur Memorama prêt.
} // fin try
attraper (Exception excr)
{
[Link]("Exception dans [Link]: " + excr);
} // fin catch
} // fin mai
} // fin de la classe
------------------------------------------------------------------------------------------------------------
CODE DE L'INTERFACE
------------------------------------------------------------------------------------------------------------
import [Link].*;
public interface MemoInt étend Remote
{
public int[][] tab( )throws [Link];
public boolean[][] arr( boolean ar[][])throws [Link];
public int turno() throws [Link];
public void tourner() throws [Link];
public void arrib( boolean ar[][]) throws RemoteException;
}
------------------------------------------------------------------------------------------------------------
CODE DE L'IMPLEMENTATION DE L'INTERFACE
-----------------------------------------------------------------------------------------------------------
importer [Link].*;
import [Link].*;
importer [Link].*;
class publique MemoImp étend UnicastRemoteObject
implémente MemoInt
{
int i,j,k,l,t;
Random r = new Random();
int tableau[][] = {{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
{0, 0, 0, 0, 0, 0, 0, 0}
{0, 0, 0, 0, 0, 0, 0, 0}
{0, 0, 0, 0, 0, 0, 0, 0}
{0, 0, 0, 0, 0, 0, 0, 0}};
boolean arriba[][] = {{faux, faux, faux, faux, faux, faux, faux, faux},
{false, false, false, false,false, false, false, false},
{false, false, false, false,false, false, false, false},
{false, false, false, false,false, false, false, false},
{faux, faux, faux, faux, faux, faux, faux, faux}
{false, false, false, false,false, false, false, false},
{faux, faux, faux, faux, faux, faux, faux, faux}
{faux, faux, faux, faux, faux, faux, faux, faux}};
public MemoImp( ) throws RemoteException
{
super( );
t=1;
pour (k = 1 ; k <= 32 ; k++)
//Place the cards randomly, perform this process until the matrix is filled
pour (l = 1; l <= 2; l++)
//Ainsi se forment les couples en plaçant chacun 2 fois mais à des positions différentes
faire
{
i = [Link](8);
j = [Link](8);
} pendant que (tablero[i][j] != 0);
tablero[i][j] = k;
}
}
}
public int[][] tab( )throws RemoteException
{
retourner tableau;
}
public boolean[][] arr( boolean ar[][])throws RemoteException
{
pour(int x =0;x<8;x++)
{
pour(int y=0;y<8;y++)
{
si(ar[x][y]||arriba[x][y]){arriba[x][y]=vrai;}

}
}
retourner en haut;
}
public void arrib( boolean ar[][])throws RemoteException
{
pour(int x = 0; x < 8; x++)
{
pour(int y=0;y<8;y++)
{

si(ar[x][y]){arriba[x][y]=true;}else{arriba[x][y]=false;}

}
}
//retourner en haut;
}

public int turno( )throws RemoteException{return t;}


public void tourner() throws RemoteException { if (t == 4) { t = 1; } else { t++; }}

Vous aimerez peut-être aussi