Mastermind

cs_tonarouz Messages postés 3 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 28 mars 2011 - 5 mars 2011 à 16:13
pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 - 6 mars 2011 à 10:20
bonjour
je veux créer mastermind en C
et je veux mettre des niveaux de difficulté:
facile:sans doublons et sans trous
moyen:avec doublons et sans trous
difficile:avec doublons et avec trous
mais je sais pas comment faire pour générer une combinaison aléatoire avec doublons et avec une place vacante
pouvez-vous me donner une idée sur ce que je dois faire?
merci d'avance


Une vie qui cherche sa vie n'est pas une vie.

1 réponse

pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 10
6 mars 2011 à 10:20
Salut,

Voici une méthode

En gros :

Crée une énumération dans laquelle t'as toutes les couleurs et 'trou', du genre:
enum CouleursEtVide{rouge, vert, bleu, jaune, orange, vide};


Ensuite tu crées un tableau vide qui va contenir les couleurs utilisées. Ce tableau tu le remplis aléatoirement grâce à la fonction rand() :
int indexCouleurChoisie = rand() % (nbCouleursDansLenumeration - 1
)

Puis tu n'as plus qu'a prendre ta couleur :
CouleurEtVide CouleurChoisie = (CouleursEtVide)indexCouleurChoisie;

Et à la rajouter dans ton tableau qui contient les couleurs utilisé.

Pour éviter les doublons tu regardes si la couleur choisie n'est pas déjà dans le tableau des couleurs utilisées. Dans le cas contraire tu recommences l'opération jusqu’à en avoir une.

C++dialement,

Pop70
0
Rejoignez-nous