J'essaie de créer un générateur de nombres aléatoires dans VB 16 dans Visual Studio, mais chaque fois que je l'exécute, j'en reçois 71, j'ai essayé de le rendre public, de le partager et de plusieurs autres choses, mais ce ne sera pas le cas travailler. J'essaie de créer un programme qui oblige l'utilisateur à deviner un nombre généré aléatoirement et à continuer à deviner jusqu'à ce qu'il l'obtienne, mais pour une raison quelconque, le même nombre est choisi à chaque fois. Cela ne fonctionnera pas correctement spécifiquement dans les formulaires d'application Windows. Comment obtenir un nombre aléatoire à chaque fois?
Public Shared Randomize() Dim value As Integer = CInt(Int((100 * Rnd()) + 1)) Public Sub EnterBtn_Click(sender As Object, e As EventArgs) Handles EnterBtn.Click Dim entervalue As String = EnterTxt.Text Dim chances As Integer Select Case entervalue Case > value ResTxt.Text = "Too big" chances += 1 Case < value ResTxt.Text = "Too small" chances += 1 Case = value ResTxt.Text = "Well done, you got it in " & chances & " tries" End Select End Sub
3 Réponses :
Voici un squelette de code pour vous:
Dim rnd As New Random() For i as Integer = 0 to 10 Console.WriteLine("{0,15:N0}", rnd.Next()) Next
Notez le truc rnd.Next ()
. J'espère que cela aide.
Vous devez créer le hasard en dehors de la boucle et ne pas en faire un nouveau à chaque itération
En effet, j'ai ajouté la boucle après coup et bon ... je vais la modifier tout de suite. Merci de me le faire savoir.
Puisque votre code n'est pas correct, il est difficile d'identifier le problème. On ne sait pas non plus ce que le code est censé faire.
Essayez ceci
Private Shared PRNG As New Random ' add this value = PRNG.Next(1, 101)'this will set value to a random number between 1 and 100 inclusive
Lorsque le programme est exécuté, il affichera une fenêtre avec une zone de texte et un bouton, et vous devez essayer de deviner le nombre, s'il est trop élevé, il s'affichera donc, s'il est trop bas, il s'affichera ainsi, lorsque le joueur aura le bon numéro, il leur dira ainsi et aussi le nombre de tentatives
Vous étiez proche! Voici un exemple de travail modifiant votre logique d'origine:
Private random As Random = New Random() Private value As Integer Private chances As Integer Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load value = random.Next(1, 100) chances = 0 End Sub Private Sub EnterBtn_Click(sender As Object, e As EventArgs) Handles EnterBtn.Click Select Case EnterTxt.Text Case > value chances += 1 ResTxt.Text = "Too big" Case < value chances += 1 ResTxt.Text = "Too small" Case = value chances += 1 ResTxt.Text = "Well done, you got it in " & chances & " tries" 'and reset for next attempt value = random.Next(1, 100) chances = 0 End Select End Sub
Les échantillons de code doivent être complets et corrects.
quand exactement un nouveau nombre aléatoire doit-il être généré?
Lorsque le programme démarre pour la première fois