Bonjour,
Cela fait quelques temps que je me suis mis à la programmation en c# et j'ai tout d'abord commencé par créer un programme "le Nombre Mystère". Le but est que la machine doit nous faire deviner le nombre qu'elle a généré.
Jusque là tout va bien, mais c'est au moment ou je veux relancer une partie sans fermer la fenêtre console que le nombre aléatoire généré reste le même qu'a la première partie . Selon vous comment pourrai-je lancer indéfiniment des parties en générant à chaque fois un nouveau nombre et sans fermer l'application.
Voici mon code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
int randomed = new Random().Next(100) + 1; //Création de Random
Console.WriteLine("Choisi un nombre entre 1 et 100"); // écriture phrase
int PickedNum = PickANumber();
while (PickedNum != randomed) //Dédifinion du if else
{
if (PickedNum > randomed)
{
Console.WriteLine("C'est moins!");
}
else
{
Console.WriteLine("C'est plus!");
}
PickedNum = PickANumber();
}
youwin(randomed);
NouvellePartie(randomed);
Console.ReadKey();
}
static void youwin(int randomed)
{
Console.WriteLine("Bravo ! Tu as trouvé le nombre était bien " + randomed); // sortie de boucle si randomed == PickedNum
}
static int PickANumber()
{
string Picked = Console.ReadLine(); // prise en compte de la réponse de l'utilisateur si c'est une lettre
int PickedNum; // prise en compte si c'est un chiffre
while (int.TryParse(Picked, out PickedNum) == false) // définition de la valeur booléenne
{
Console.WriteLine("Ce n'est pas un nombre rééssaie!");
Picked = Console.ReadLine();
}
return PickedNum;
}
static void NouvellePartie(int randomed)
{
Console.WriteLine("Choisi un nombre entre 1 et 100"); // écriture phrase
int PickedNum = PickANumber();
while (PickedNum != randomed) //Dédifinion du if else
{
if (PickedNum > randomed)
{
Console.WriteLine("C'est moins!");
}
else
{
Console.WriteLine("C'est plus!");
}
PickedNum = PickANumber();
}
youwin(randomed);
Console.ReadKey();
NouvellePartie(randomed);
}
}
}
A voir également:
Problème de génération de nombre aléatoire nombre mystère
Je viens d'effectuer quelques recherches, et avec mes maigres connaissances je ne vois pas comment initialiser Random. Je suppose qu'il faudrait instaurer DateTime.now lors de la déclaration de "randomed", mais je ne sais pas vraiment quel syntaxe aborder pour permettre la prise en compte de ce nouveau paramètre.