chateaudeshromberg
Messages postés2Date d'inscriptionjeudi 17 août 2006StatutMembreDernière intervention17 août 2006
-
17 août 2006 à 07:44
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
28 mars 2007 à 15:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 mars 2007 à 15:52
moi je le voudrai en ADA ou en LOGO.... au choix ^^
on crois réver Princesse2007 !
reste a te relever les manches ^^
princesse2007
Messages postés1Date d'inscriptionmercredi 28 mars 2007StatutMembreDernière intervention28 mars 2007 28 mars 2007 à 15:47
st lousa j ai un problème j ai pas étudier encore le langage Java et C++ donc j ai pas compris votre programme si vous pouvez le traduire en langage C.merci
amirmanaa
Messages postés1Date d'inscriptionsamedi 2 décembre 2006StatutMembreDernière intervention 2 décembre 2006 2 déc. 2006 à 11:03
bien
Nicoschmeii
Messages postés16Date d'inscriptionjeudi 6 avril 2006StatutMembreDernière intervention30 juin 2008 22 août 2006 à 11:20
Si ça peut t'aider, j'avais créé un programme de mastermind (même principe) et voici mon algorithme qui fonctionne à merveille pour dire combien il y a de valeurs biens placées et mal placées:
================
/**
* Retourne le nombre de valeurs bien placées et mal placées
* en comparant cette combinaison avec la combinaison passée
* en argument. Le tableau retourner contient:
* index 0: le nombre de valeurs bien placées.
* index 1: le nombre de valeurs mal placées.
* @param comb Combinaison à comparer
* @return tableau contenant les valeurs bien et mal placées
*/
public int[] getBienEtMalPlaces(Combinaison comb) throws ParametreInvalideException{
int[] comb1 = comb.getCombinaison();
int[] comb2 = new int[this.combinaison.length];
System.arraycopy(this.combinaison, 0, comb2, 0, this.combinaison.length);
if(comb1.length != comb2.length){
throw new ParametreInvalideException();
}
int MalPlaces=0, BienPlaces=0;
plus:
for(int i=0; i<comb1.length; i++){
for(int j=0; j<comb2.length; j++){
if(comb1[i] == comb2[j]){
MalPlaces++;
comb2[j] = -1;
continue plus;
}
}
}
comb2 = this.combinaison;
for(int i=0; i<comb1.length; i++){
if(comb1[i] == comb2[i]){
BienPlaces++;
}
}
MalPlaces -= BienPlaces;
int[] reponse = {BienPlaces, MalPlaces};
return reponse;
}
=========
chateaudeshromberg
Messages postés2Date d'inscriptionjeudi 17 août 2006StatutMembreDernière intervention17 août 2006 17 août 2006 à 07:44
Salut Lousa,
enfaite, je n'ai pas regardé le code, mais j'ai testé le jeu. je pense qu'il est bien pour un(e) débutant(e), mais il y a cependant une petite erreur. Je pense que tu as oublié de traité le cas ou l'utilisateur introduit deux fois le même chiffre dans la même cobinaison de chiffre, et que ce chiffre existe dans la combinaison retnue par le jeu mais qu'une seul foi. Dans ce cas, si l'un des endroit ou le chiffre a était mis par l'utilisateur est le bon, le jeu lui annonce qu'il a 1 vache et 1 taureau, contrairement à la logique du jeu, car normalement il devra reçevoir 0 vache et 1 taureau.
par exemple, si le nombre retenu par le jeu est 1234, et que l'utilisateur introduit 1516, normalement il devrait avoir 0 vache et 1 taureau, mais dans ton algorithm de calcul, le jeu lui attribut 1 vache et 1 taureau!!!
J'espère que ma remarque était au bon endroit ( ta3lii9 fi mahallih ) :):)
et je te laisse le soin de réviser le code.
bonne continuation :)
28 mars 2007 à 15:52
on crois réver Princesse2007 !
reste a te relever les manches ^^
28 mars 2007 à 15:47
2 déc. 2006 à 11:03
22 août 2006 à 11:20
================
=========
17 août 2006 à 07:44
enfaite, je n'ai pas regardé le code, mais j'ai testé le jeu. je pense qu'il est bien pour un(e) débutant(e), mais il y a cependant une petite erreur. Je pense que tu as oublié de traité le cas ou l'utilisateur introduit deux fois le même chiffre dans la même cobinaison de chiffre, et que ce chiffre existe dans la combinaison retnue par le jeu mais qu'une seul foi. Dans ce cas, si l'un des endroit ou le chiffre a était mis par l'utilisateur est le bon, le jeu lui annonce qu'il a 1 vache et 1 taureau, contrairement à la logique du jeu, car normalement il devra reçevoir 0 vache et 1 taureau.
par exemple, si le nombre retenu par le jeu est 1234, et que l'utilisateur introduit 1516, normalement il devrait avoir 0 vache et 1 taureau, mais dans ton algorithm de calcul, le jeu lui attribut 1 vache et 1 taureau!!!
J'espère que ma remarque était au bon endroit ( ta3lii9 fi mahallih ) :):)
et je te laisse le soin de réviser le code.
bonne continuation :)