Mastermind ! ! ALEATOIRE ?????

Résolu
xplicitnoize Messages postés 16 Date d'inscription dimanche 21 janvier 2007 Statut Membre Dernière intervention 18 février 2007 - 8 févr. 2007 à 03:23
xplicitnoize Messages postés 16 Date d'inscription dimanche 21 janvier 2007 Statut Membre Dernière intervention 18 février 2007 - 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.

4 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
8 févr. 2007 à 08:31
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
3
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
9 févr. 2007 à 08:25
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
3
xplicitnoize Messages postés 16 Date d'inscription dimanche 21 janvier 2007 Statut Membre Dernière intervention 18 février 2007
9 févr. 2007 à 02:25
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()"
0
xplicitnoize Messages postés 16 Date d'inscription dimanche 21 janvier 2007 Statut Membre Dernière intervention 18 février 2007
13 févr. 2007 à 04:24
THX vraiment , la je continue et je vais probablement inscrire ma derniere version plus tard pour verification et optimisation :  8P
0
Rejoignez-nous