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