JEUX VACHES_TAUREAUX

chateaudeshromberg Messages postés 2 Date d'inscription jeudi 17 août 2006 Statut Membre Dernière intervention 17 août 2006 - 17 août 2006 à 07:44
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 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.

https://codes-sources.commentcamarche.net/source/38282-jeux-vaches-taureaux

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
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és 1 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 28 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és 1 Date d'inscription samedi 2 décembre 2006 Statut Membre Dernière intervention 2 décembre 2006
2 déc. 2006 à 11:03
bien
Nicoschmeii Messages postés 16 Date d'inscription jeudi 6 avril 2006 Statut Membre Dernière intervention 30 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és 2 Date d'inscription jeudi 17 août 2006 Statut Membre Dernière intervention 17 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 :)
Rejoignez-nous