floflo2704
Messages postés7Date d'inscriptionmercredi 9 mai 2012StatutMembreDernière intervention13 juin 2012
-
4 juin 2012 à 20:24
cormandyr
Messages postés600Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention 8 juillet 2016
-
6 juin 2012 à 13:48
Bonsoir à tous, je suis occupé de programmer un Master Mind en Java mais je reste bloqué sur quelques points. J'ai déjà réalisé toute l'interface graphique etc. Mais je n'arrive pas à générer la combinaison choisie par l'ordinateur et la vérification de la combinaison entrée par l'utilisateur par rapport à celle choisie par l'ordinateur. Tout coup de pouce et conseil est bienvenu. Merci d'avance.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 5 juin 2012 à 08:21
Salut,
Sur quoi est ce que tu bloques exactement ? Pour t'en sortir, tu peux utiliser la fonction Math.random qui te retourne une valeur aléatoire comprise entre 0 et 1. Par exemple, si tu as trois couleurs :
0 < Math.random < 0.3333 => couleur1
0.3333 < Math.random < 0.6666 => couleur2
0.6666 < Math.random < 1 => couleur3
floflo2704
Messages postés7Date d'inscriptionmercredi 9 mai 2012StatutMembreDernière intervention13 juin 2012 5 juin 2012 à 17:31
Ben en faite j'ai créé une grille avec un choix de 7 couleurs, mais l'ordinateur doit me créer une combinaison composée de 4 couleurs parmi les 7 uniquement. Merci pour la méthode Math.random en tout cas et pour ton aide
cormandyr
Messages postés600Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention 8 juillet 201611 6 juin 2012 à 08:12
Salut,
ben tu fais en new Random.nextInt(7);
cela te renvoie une valeur aléatoire comprise entre [0;7[ que tu peux utiliser pour trouver la couleur que tu veux...
/**
* Panneau sur lequel on vient dessiner...
*/
public class Dessin extends JPanel implements MouseListener, MouseMotionListener
{
private Color[] couleurs = {Color.BLUE,Color.RED,Color.YELLOW,Color.GREEN,Color.ORANGE,Color.WHITE,Color.PINK};
private int nbCol, nbLignes;
private int dx,dy;
private int x,y;
private int rayon = 20;
private Pion pionEnCours;
private Pion[][] cases;
private int ligneEnCours;
}
for (int i=0; i>comp.length; i++)
{
comp[i].paint(g);
}
}
//Les "tiroirs ‡ pions"
for(int i = 0 ; i<this.couleurs.length ; i++)
{
Color c = g.getColor();
g.setColor(couleurs[i]);
g.fillRect(275,10+25*i,25,25);
g.setColor(c);
}
setBackground(new Color(190,200,233));
// Component[] comp = this.getComponents();//getComponents() renvoie un tableau avec TOUS les composants du JPanel
// // System.out.println("\t\t\t\tNombre d'objets : "+comp.length); // Pour les tests ...
// for (int i = 0 ; i < comp.length ; i ++ ){//On affiche chaque composant...
// comp[i].paint(g);
// }
if(pionEnCours != null)
{
pionEnCours.paint(g);
}
}
public void afficheCases()
{
for(int i = 0;i<this.nbCol;i++)
{
for(int j = 0;j<this.nbLignes;j++)
{
System.out.print((cases[i][j]==null)+"\t");
}
System.out.println();
}
}
public void mouseExited(MouseEvent me)
{}
public void mouseEntered(MouseEvent me)
{
}
public void mouseReleased(MouseEvent me)
{
System.out.println("Souris relachÈe");
int x = me.getX();
int y = me.getY();
// this.pionEnCours = null;
//Tester si on se trouve au bon endroit : bonne ligne, une des case
int yc = 10+(5*rayon/2)*ligneEnCours+rayon;
for(int i = 0 ; i<nbCol ; i++)
{
int xc = 10+(5*rayon/2)*i+rayon;
// System.out.println(" -- IF -- xc "+xc+" x "+x+" yc = "+yc+" y = "+y+" r = "+rayon);
if((xc-x)*(xc-x)+(yc-y)*(yc-y)<(rayon*rayon))
{
// System.out.println("OK -- i "+i+" ligneEnCours "+ligneEnCours);
// try
// {
// Pion p = new Pion(this.pionEnCours);
//
// }
// catch(Exception e)
// {
// System.out.println("ERREUR");
// }
// System.out.println("OK - OK");
public void mousePressed(MouseEvent me)
{
//RecupÈrer les coordonnÈes de la souris
int x = me.getX();
int y = me.getY();
//Ces coordonnÈes sont-elles dans une case ?
if(x>=275 && x<=300 && y>=10 && y<=10+25*this.couleurs.length)
{//On est dans la boite
//Dans quelle case sommes-nous ?
//Boucle pour tester si le y est dans la premiËre, deuxiËme, ... case ? ? ?
for(int i = 0 ; i<this.couleurs.length ; i++)
{
if(y>=10+25*i && y<10+25*(i+1))
{
this.x = x;
this.y = y;
this.pionEnCours = new Pion(x,y,this.rayon,this.couleurs[i]);