J'ai joué et j'ai écrit ce petit morceau de code. J'essaie de lancer une pièce de monnaie définie nombre de fois et ensuite compter combien de queues et de têtes je reçois. Alors voilà:Retourner un problème de pièce
private void Start_Click(object sender, EventArgs e)
{
int headss = 0;
int tailss = 0;
int random2, g;
string i = textBox1.Text;
int input2, input;
bool NumberCheck = int.TryParse(i, out input2);
if (textBox1.Text == String.Empty) // check for empty string, when true
MessageBox.Show("Enter a valid number between 0 and 100000.");
else // check for empty string, when false
if (!NumberCheck) // number check, when false
{
textBox1.Text = String.Empty;
MessageBox.Show("Enter a valid number between 0 and 100000.");
}
else
{
input = Convert.ToInt32(textBox1.Text);
for (g = 0; g < input; g++)
{
Random random = new Random();
random2 = random.Next(2);
if (random2 == 0)
{
headss++;
}
else if (random2 == 1)
{
tailss++;
}
}
}
heads.Text = Convert.ToString(headss);
tails.Text = Convert.ToString(tailss);
}
Le problème est que je continue d'avoir des problèmes lors de l'affichage du contenu. Ce n'est même pas près d'afficher leur bon résultat. Des idées?
EDIT. Solution: se déplacer suivant la ligne 3 lignes jusqu'à: D
Random random = new Random();
L'affichage semble correct, mais le retournement n'est pas bon. Le seed par défaut de 'Random' est basé sur l'horloge du système, dont la résolution n'est pas très bonne. En créant un nouvel objet 'Random' chaque fois dans la boucle, vous obtiendrez la même graine encore et encore pour de nombreuses itérations, ainsi vos flips ne seront pas très aléatoires. – mquander