Mastermind ! ! ALEATOIRE ????? [Résolu]

xplicitnoize 16 Messages postés dimanche 21 janvier 2007Date d'inscription 18 février 2007 Dernière intervention - 8 févr. 2007 à 03:23 - Dernière réponse : xplicitnoize 16 Messages postés dimanche 21 janvier 2007Date d'inscription 18 février 2007 Dernière intervention
- 13 févr. 2007 à 04:24
using




System;



using




System.IO;



using




System.Collections.Generic;



using




System.Text;



namespace




mastermind


{





class
Program





{





static
void Main(string[] args)




{





//PROGRAMME Mastermind






int[] nombre_cache=newint [4];





int[] n_essaie = newint[4];





int n_present = 0;





int n_place = 0;





int i = 0;





string c_saisie="";




generer_combinaison();





while (n_place != 4)











Console.WriteLine("Entrez vos nombres: ");





for (i = 0; i < 4; i++)




{




c_saisie = Console.ReadLine();




n_essaie[i] = Convert.ToInt16(c_saisie);




}




evaluer_coup();





Console.WriteLine("{0:g}présent(s) et {1:g} bien placé(s)!!");




}











//FINDE Mastermind






public
void generer_combinaison()




{





int n_temp = Random() * 10;





for (i = 0; i < 4; i++)




nombre_cache[i] = n_temp;  /////&&????!!?????????????!!??? ici  ( -----------------------










}


















 



}




}




Bonjours allz , voilà j'ai un programme a faire qui est en fait le jeu Mastermind
L'ordinateur doit générer une combinaison aleatoire de 4 chiffres non-répétitif entre 1 et 9 et les garde en mémoire.Ensuite le joueur entre un essaie (4chiffres) pour tenter de trouver les 4 chiffres cachés.
L'ordinateur indique à l'utilisateur après chaque essaie le nombre de chiffre bien placé et le nombre de chiffre présents mais pas bien placé.L'orsque l'utilisateur réussit a trouver la bonne combinaison dans le bon ordre  ont le félicite ! ! !

Ex:  Supposons que l'ordinateur a choisi aléatoirement ces valeurs: 4 2 6 8

Le joueur entre : 1 2 3 4         reponse: 1 bien placés
                                                                  1 présents
Le joueur entre : 5 6 7 8         reponse: 1 bien placés
                                                                  1 présents
Le joueur entre : 1 2 7 8         reponse: 2 bien placés
                                                                  0 présents
etc..

J'ai des difficultés a faire généré la combinaison .... HELP PLZ !!!!
Le tout doit se faire en procedure.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 8 févr. 2007 à 08:31
3
Merci
Hello,

Voici un petit exemple qui fonctionne :

publicList> generer_combinaison()
{
   List nombre_cache = newList>(4);
   Random r = newRandom
();
   int
temp = r.Next(10);
   for (int
i = 0; i < 4; i++)
   { 
      while
( nombre_cache.Contains(temp))
         temp = r.Next(10);
      nombre_cache.Add(temp);
   }
return
nombre_cache;
}

Pour faire des tests, j'ai déclaré la liste à l'intérieur de la méthode, mais tu peux la laisser en global si tu préfères.
J'ai utilisé une liste plutôt qu'un tableau pour avoir la méthode Contains, mais tu peux faire de même avec un tableau, en cherchant toi même.

Amicalement, SharpMao

Merci SharpMao 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 117 internautes ce mois-ci

Commenter la réponse de SharpMao
Meilleure réponse
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 9 févr. 2007 à 08:25
3
Merci
Si tu fait du C#, c'est de toute façon de la POO.

Maintenant, c'est vrai, il faut rajouter static à la méthode. Mais le code que tu proposais faisait la même erreure, non ?

Pour résoudre le problème, mets ça comme signature de la méthode :

public static List> generer_combinaison()

Et voici le main pour l'utiliser :

staticvoid Main(string[] args)

{

//PROGRAMME Mastermind

List nombre_cache = generer_combinaison();
.....
}

Amicalement, SharpMao

Merci SharpMao 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 117 internautes ce mois-ci

Commenter la réponse de SharpMao
xplicitnoize 16 Messages postés dimanche 21 janvier 2007Date d'inscription 18 février 2007 Dernière intervention - 9 févr. 2007 à 02:25
0
Merci
je croit que ton code est en programamtion POO moi s'est en simple console .....


 


car jecrit ton code et sa me dit: An object reference is requiert for the nonstatic field,methodm or property"mastermind.Program.generer_combinaison()"
Commenter la réponse de xplicitnoize
xplicitnoize 16 Messages postés dimanche 21 janvier 2007Date d'inscription 18 février 2007 Dernière intervention - 13 févr. 2007 à 04:24
0
Merci
THX vraiment , la je continue et je vais probablement inscrire ma derniere version plus tard pour verification et optimisation :  8P
Commenter la réponse de xplicitnoize

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.