Vb.net 做宾果游戏,每个人都有相同的号码
我正在制作一个程序,为100人制作一张宾果卡,并给他们所有不同的数字。但是刚才我的代码给了每个人完全相同的15个数字。任何帮助都将不胜感激,谢谢Vb.net 做宾果游戏,每个人都有相同的号码,vb.net,list,random,Vb.net,List,Random,我正在制作一个程序,为100人制作一张宾果卡,并给他们所有不同的数字。但是刚才我的代码给了每个人完全相同的15个数字。任何帮助都将不胜感激,谢谢 Structure Number Dim number As Integer End Structure Structure Player Dim name As String Dim numbers() As Number Dim numbers_left As In
Structure Number
Dim number As Integer
End Structure
Structure Player
Dim name As String
Dim numbers() As Number
Dim numbers_left As Integer
End Structure
Dim players As New List(Of Player)
Dim selectednumber As Integer
Dim used As New List(Of Integer)
Dim random As New Random
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Number As Number
Dim player As Player
ReDim player.numbers(14)
For i = 1 To 100
For j = 0 To 14
SelectNumber: Number.number = random.Next(1, 101)
If player.numbers IsNot Nothing Then
For Each item In player.numbers
If item.number = Number.number Then
GoTo SelectNumber
End If
Next
End If
player.numbers(j).number = Number.number
Next
player.name = ("Bill" & i)
player.numbers_left = 15
players.Add(player)
Next
End Sub
我承认我没有完全遵循所有的逻辑,但是看起来你需要在每个循环中重新初始化播放器,因为我认为你总是在测试第一个播放器
Structure Number
Dim number As Integer
End Structure
Structure Player
Dim name As String
Dim numbers() As Number
Dim numbers_left As Integer
End Structure
Dim players As New List(Of Player)
Dim selectednumber As Integer
Dim used As New List(Of Integer)
Dim random As New Random
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For i = 1 To 100
Dim Number As Number
Dim player As Player
ReDim player.numbers(14)
For j = 0 To 14
SelectNumber: Number.number = random.Next(1, 101)
If Player.numbers IsNot Nothing Then
For Each item In Player.numbers
If item.number = Number.number Then
GoTo SelectNumber
End If
Next
End If
Player.numbers(j).number = Number.number
Next
Player.name = ("Bill" & i)
Player.numbers_left = 15
players.Add(Player)
Next
End Sub
所以,随机方法总是创建相同的数字?可以将随机变量设为静态吗?
static
是错误的。它将是共享的
,如果有的话,但无论如何都没有必要。这不是问题。结构应该是一个类,每个应用程序始终使用一个随机数,除非/直到你知道你在做什么,请参阅更多/更好的选择方法以及一些随机信息。顺便说一句,你选择100个宾果值,但美国宾果使用75个数字,英国90个。如果你在上面的链接上使用Enumerable,你可以一次得到所有的数字,并将它们随机化,从而摆脱可怕的GoTosorry。你不能遵循所有的逻辑。我有点像我自己的想法,只有我最了解它。抱歉,汉克斯,如果这有效,你能接受这个答案吗?我对这个答案有点犹豫不决,因为我不了解最初发生的事情,但我想如果它对你有用的话。。。