Programme java permettant de retrouver 4 nombres

floflo2704 Messages postés 7 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 13 juin 2012 - 13 juin 2012 à 16:37
 Utilisateur anonyme - 13 juin 2012 à 18:49
Bonjour à tous, je suis commence la programmation et je suis occupé de programmer en BlueJ un petit programme dont le but est de trouvé 4 nombres choisis aléatoirement par l'ordinateur mais il reste encore quelques petits problèmes si quelqu'un pouvait m'aider ça serait sympa. merci d'avance


import java.util.*;
import javax.swing.*;
import java.awt.*;

public class ProblemeDeFondJeuMasterMind
{
int[][] Table = new int[5][7];
// 1 : Bleu : Color[r=0,g=0,b=255]
// 2 : Rouge : Color[r=255,g=0,b=0]
// 3 : Jaune : Color[r=255,g=255,b=0]
// 4 : Vert : Color[r=0,g=255,b=0]
// 5 : Orange : Color[r=255,g=200,b=0]
// 6 : Blanc : Color[r=255,g=255,b=255]
// 7 : Rose : Color[r=255,g=175,b=175]
int ligneEnCours = 1;
int [] propositionJoueur = new int [5] ;
int p1,p2,p3,p4,p5 = 0;
int i = 0;
int Couleur = 0;

public void DefinitionCombinaisonOrdinateur()
{
Random rand = new Random();
Table [1][1] = rand.nextInt(7);
Table [1][2] = rand.nextInt(7);
Table [1][3] = rand.nextInt(7);
Table [1][4] = rand.nextInt(7);

System.out.println("Couleur 1 : "+this.Table[1][1]);
System.out.println("Couleur 2 : "+this.Table[1][2]);
System.out.println("Couleur 3 : "+this.Table[1][3]);
System.out.println("Couleur 4 : "+this.Table[1][4]);


}

public void DessinerInterface()
{

}

public void CombinaisionJoueur()
{
int Nombre = 0;

Scanner nombre = new Scanner(System.in);

System.out.println("Entrez votre premier nombre");
Nombre = nombre.nextInt();
propositionJoueur [1] = Nombre;


System.out.println("Entrez votre deuxieme nombre");
Nombre=nombre.nextInt();
propositionJoueur [2] = Nombre;


System.out.println("Entrez votre troisieme nombre");
Nombre=nombre.nextInt();
propositionJoueur [3] = Nombre;

System.out.println("Entrez votre quatrieme nombre");
Nombre=nombre.nextInt();
propositionJoueur [4] = Nombre;

System.out.println("Couleur 1 : "+this.propositionJoueur[1]);
System.out.println("Couleur 2 : "+this.propositionJoueur[2]);
System.out.println("Couleur 3 : "+this.propositionJoueur[3]);
System.out.println("Couleur 4 : "+this.propositionJoueur[4]);
}

public void ComparaisonProposition()
{


if(propositionJoueur[1] == Table[ligneEnCours][1])
{
System.out.println("Vous avez trouve la premiere position");
p1 = 1;
}
if(propositionJoueur[2] == Table[ligneEnCours][2])
{
System.out.println("Vous avez trouve la deuxieme position");
p2 = 1;
}
if(propositionJoueur[3] == Table[ligneEnCours][3])
{
System.out.println("Vous avez trouve la troisieme position");
p3 = 1;
}
if(propositionJoueur[4] == Table[ligneEnCours][4])
{
System.out.println("Vous avez trouve la quatrieme position");
p4 = 1;
}
p5 = p1+p2+p3+p4;
System.out.println(p5);
if(p5 == 4)
{
Gagne();
int code = 0;
System.exit(code);
}

else if(p5 != 4)
{
if(ligneEnCours < 6)
{
ligneEnCours++;
}

if(ligneEnCours > 6)
{
Perdu();
}

}
}

public void TesterJoueur()
{

}

public void Gagne()
{
System.out.println("Vous avez gagne");
i = 6;

}

public void Perdu()
{
System.out.println("Vous avez perdu");
}


public void main()
{
DefinitionCombinaisonOrdinateur();


for(i=1; i<7;i++)
{
CombinaisionJoueur();
ComparaisonProposition();
}
}

}

1 réponse

Utilisateur anonyme
13 juin 2012 à 18:49
Salut,

Tout d'abord La méthode main(...) point d'entrée du programme et obligatoirement "static" est mal définie.

public void main()
{
DefinitionCombinaisonOrdinateur();


for(i=1; i<7;i++)
{
CombinaisionJoueur();
ComparaisonProposition();
}
}




Il faudrait:

public static void main(String args[])
{

À partir de là toute méthode appelée (dont les méthodes
DefinitionCombinaisonOrdinateur();
CombinaisionJoueur();
ComparaisonProposition(); ) et dont le nom devrait commencer par une minuscule puisque ce ne sont pas des constructeurs devraient être "static".

Or pour plusieurs raisons qu'on poura voir ne le peuvent pas.

Mais heureusement il y a une solution:

//DefinitionCombinaisonOrdinateur();
ProblemeDeFondJeuMasterMind obj = new ProblemeDeFondJeuMasterMind();

et appeler les méthodes de la manière suivante:

obj.laMethode();

Soit:

public static void main(String args[])
{
//DefinitionCombinaisonOrdinateur();
ProblemeDeFondJeuMasterMind obj = new ProblemeDeFondJeuMasterMind();

obj.DefinitionCombinaisonOrdinateur();

for(int i = 1; i<7; i++)
{
//CombinaisionJoueur();
obj.CombinaisionJoueur();
//ComparaisonProposition();
obj.ComparaisonProposition();
}
}

Cordialement,


...\ Dan /...
0
Rejoignez-nous
A voir également