1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
| import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
public class PlateauJeu extends javax.swing.JFrame {
private Jeu lejeu;int larg,longu,nbto,nbje,nbdiv;int nbj=1;int nbgagne=0;boolean fin=false;int nbt=0;
public PlateauJeu() {
initComponents();
Choix jd=new Choix(this,true);
jd.setVisible(true);
larg=jd.largueurgrille;
longu=jd.longueurgrille;
System.out.println(larg);System.out.println(longu);
nbto=jd.nbtour;
nbdiv=jd.division;
nbje=jd.nbjeux;
lejeu=new Jeu(longu,larg,nbto,nbdiv,nbje);
//
creationJeu();
afficheJeu();
jeu();
}
public void creationJeu(){
// création d'une stratégie en grille de longeur et largeur définit par l'utilisateur
GridLayout g=new GridLayout(longu,larg);
Grille.setLayout(g);
for(int i=1;i<=longu;i++)
for(int j=1;j<=larg;j++)
{JPanel pan=new JPanel(); // créaation d'une case (panel)
Grille.add(pan); // ajout de la case dans la grille
}
}
public void afficheJeu(){
for(int i=0;i<longu;i++)
for(int j=0;j<larg;j++)
{ // récupére les panneau de la grille un par un et regarde son numéro (0,1 ou 2)
JPanel pan=(JPanel)Grille.getComponent(i*larg+j);
// création d'une bordure
Border lineBdr = BorderFactory.createLineBorder(Color.BLACK);
if(lejeu.g.grille[i][j]==1)
{ // coloration de la case en jaune si son numéro est 1
pan.setBackground(Color.YELLOW);
pan.setBorder(lineBdr);}
if(lejeu.g.grille[i][j]==0)
{// coloration de la case en rouge si son numéro est 0
pan.setBackground(Color.RED);
pan.setBorder(lineBdr);}
if(lejeu.g.grille[i][j]==2)
{// coloration de la case en bleu si son numéro est 2
pan.setBackground(Color.BLUE);
pan.setBorder(lineBdr);}
if(lejeu.g.grille[i][j]==3)
{// coloration de la case en bleu si son numéro est 2
pan.setBackground(Color.GREEN);
pan.setBorder(lineBdr);}
}
}
public void jeu(){do{fin=false;nbt=0;
if(nbj>1)
lejeu=new Jeu(longu,larg,nbto,nbdiv,nbje);
// création d'un nouveau jeu
if(nbj>=1)
{nbt = 0; //remise à zero du nombre de tours
if(lejeu.fin)
{ lejeu.g.AffichageGrille();
nbgagne++; // incrémente le nombre de parties gagnantes
fin = true;
System.out.println("gagner en : "+1+" tours");
}
while(nbt<=lejeu.nbTour && !fin)
{lejeu.Faireuntour(); // fait un tour
nbt++; // incrémente le nombre de tour
// verification de la fin d'un tour
if(lejeu.r.fin || lejeu.r2.fin)
{
nbgagne++;
fin = true;
System.out.println("gagner en : "+nbt+" tours");
}
if(!lejeu.r.fin && !lejeu.r2.fin && nbt==lejeu.nbTour)
System.out.println("perdu en +"+nbt+"tours");
}
}
nbj++;
}while(nbj<=lejeu.nbJeu); // faire le jeu autaut de fois que l'utilisateur le demande
afficheJeu();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
Grille = new javax.swing.JPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new java.awt.GridLayout(1, 1));
Grille.setLayout(new java.awt.GridLayout(4, 4));
getContentPane().add(Grille);
pack();
}// </editor-fold>
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
PlateauJeu pj=new PlateauJeu();
pj.setVisible(true);
pj.setSize(500, 500);
}
});
}
// Variables declaration - do not modify
private javax.swing.JPanel Grille;
// End of variables declaration
} |
Partager