Citation :
// On essaye de faire un MasterMind...
// Jardy
package Mastermind;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class monmaster
{
class rectCanvas extends Canvas
{
boolean estRempli;
rectCanvas(boolean b)
{estRempli=b;}
public void paint(Graphics g)
{
if(estRempli)
{g.fillRect(0, 0, 30, 30);}
else
{g.drawRect(0, 0, 30, 30);}
}
}// fin de la classe rectCanvas
class PionCanvas extends Canvas
{
PionCanvas()
{
super();
addMouseListener(new MouseAdapter()
{
public void mouseReleased(MouseEvent me)
{
System.out.println("click" );
}
});
}
public void paint(Graphics g)
{
g.setColor(Color.black);
g.drawOval(0, 0, 30, 30); //getMaximumSize().width, getMaximumSize().height);
}
}// fin de la classe PionCanvas
public class buttoncolor extends Button
{
Color couleurBouton;
buttoncolor(String label, Color couleur)
{
couleurBouton=couleur;
setLabel(label);
setBackground(couleur);
addMouseListener(new MouseAdapter()
{
public void mouseReleased(MouseEvent me)
{
System.out.println(couleurBouton.toString());
}
}); }
}// fin de la classe buttoncolor
public class monmasterFrame extends Frame
{
static final String TITRE="Mastermind by Jardy";
Color bleu=new Color(0, 0, 255);
Color rouge=new Color(255, 0, 0);
Color vert=new Color(0, 255, 0);
Color jaune=new Color(255, 255, 0);
Color noir=new Color(0, 0, 0);
Color mauve=new Color(255, 0, 255);
Panel panelF=new Panel();
Panel panelP=new Panel();
Panel panelC=new Panel();
Panel panelH=new Panel();
int nbgridPaletteX=1;
int nbgridPaletteY=6;
int nbgridHistoX=10;
int nbgridHistoY=5;
int nbgridCacheX=1;
int nbgridCacheY=4;
monmasterFrame(final String msg)
{
super(TITRE);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{System.exit(0);}
});
// mise en place des panel
add(panelF);
panelF.setLayout(new BorderLayout());
panelP.setLayout(new GridLayout(nbgridPaletteX, nbgridPaletteY));
panelC.setLayout(new GridLayout(nbgridCacheX, nbgridCacheY));
panelH.setLayout(new GridLayout(nbgridHistoX, nbgridHistoY));
panelF.add(panelC, BorderLayout.NORTH);
panelF.add(panelP, BorderLayout.SOUTH);
panelF.add(panelH, BorderLayout.CENTER);
// dessin des couleurs de la palette
panelP.add(new buttoncolor("", bleu));
panelP.add(new buttoncolor("", rouge));
panelP.add(new buttoncolor("", vert));
panelP.add(new buttoncolor("", jaune));
panelP.add(new buttoncolor("", noir));
panelP.add(new buttoncolor("", mauve));
panelP.add(new Button("Jouer" ));
panelP.add(new Button("Corriger" ));
for(int i=0; i<nbgridHistoX; i++)
{
for(int j=0; j<nbgridHistoY; j++)
{
if(compteurPion==5)
{
panelH.add(new rectCanvas(true));
panelH.add(new rectCanvas(false));
compteurPion=0;
}
else
{
panelH.add(new PionCanvas());
}
compteurPion++;
}
}
for(int i=0; i<nbgridCacheY; i++)
{
System.out.println("CA PASSE" );
panelC.add(new rectCanvas(false));
} setSize(400,600);
//pack();
setResizable(true);
show();
}
}// fin de la classe monmasterFrame
static public String[] Couleurs={"bleu", "rouge", "jaune", "vert", "noir", "mauve"};
int nbCoups=0;
int nbPions=4;
int[] combisecret=new int[4];
int[] combiessai=new int[4];
int[] dejatraiteblanc=new int[4];
int[] dejatraitenoir=new int[4];
public int compteurPion=1;
public String recupererCouleur(int numero)
{
String Couleur= new String(Couleurs[numero]);
return Couleur;
}
public int determinernoirs()
{
int k=0;
for(k=0;k<nbPions;k++) dejatraitenoir[k]=9;
int noirs=0;
for(k=0;k<nbPions;k++)
{
if(combisecret[k]==combiessai[k])
{
dejatraitenoir[k]=combisecret[k];
noirs++;
}
}
return noirs;
}
public int determinerblancs()
{
int k=0;
for(k=0;k<nbPions;k++) dejatraiteblanc[k]=9;
int blancs=0;
int j=0;
for(k=0;k<nbPions;k++)
{
for(j=0;j<nbPions;j++)
{
if(combisecret[k]!=combiessai[k])
{
if(combisecret[j]==combiessai[k])
{
if(combisecret[j]!=dejatraitenoir[j])
{
if(combisecret[j]!=dejatraiteblanc[j])
{
dejatraiteblanc[j]=combisecret[j];
blancs++;
j=nbPions+1;
}
}
}
}
else
{
dejatraiteblanc[k]=combisecret[k];
j=nbPions+1;
}
}
}
return blancs;
}
public void joueruncoup()
{
// essai en dur dans le fichier java
combiessai[0]=1;
combiessai[1]=1;
combiessai[2]=0;
combiessai[3]=0;
for(int z=0;z<nbPions;z++)
{
System.out.println(recupererCouleur(combiessai[z]));
}
// fin de essai en dur
int nbNoirs=determinernoirs();
int nbBlancs=determinerblancs();
System.out.print("Vous avez " );
System.out.print(nbNoirs);
System.out.println(" noirs" );
System.out.print("Vous avez " );
System.out.print(nbBlancs);
System.out.println(" blancs" );
// Test si gagne
}
//constructeur
monmaster()
{
new monmasterFrame("" );
Random unRandom=new Random();
for(int i=0;i<nbPions;i++)
{
int pion=unRandom.nextInt(6);
combisecret[i]=pion;
System.out.println(recupererCouleur(pion));
}
joueruncoup();
}
static public void main(String[] args)
{
monmaster unMaster=new monmaster();
}
}// Fin de la classe monmaster
|