Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>A generic lottery</p> <pre><code>Private Sub Button1_Click(sender As System.Object, _ e As System.EventArgs) Handles Button1.Click Dim myLotto As New Lottery(49) 'fill the hopper myLotto.Draw(6) 'draw the balls Debug.WriteLine(myLotto.ToString) 'get the results 'OR get the results one item at a time For x As Integer = 0 To myLotto.Count - 1 Debug.WriteLine(myLotto.Item(x)) Next End Sub Class Lottery Private Shared PRNG As New Random Private _theHopper As List(Of Integer) Private _draw As List(Of Integer) Public Sub New(maxNumber As Integer) Me.MaxNumber = maxNumber Me._theHopper = New List(Of Integer) Me._theHopper.AddRange(Enumerable.Range(1, Me.MaxNumber).ToArray) End Sub Private _maxNumber As Integer Public Property MaxNumber() As Integer Get Return Me._maxNumber End Get Set(ByVal value As Integer) Me._maxNumber = value End Set End Property Public Sub Draw(numberOfBalls As Integer, _ Optional DuplicatesAllowed As Boolean = False) Me._draw = New List(Of Integer) Dim whichNum As Integer For ct As Integer = 1 To numberOfBalls whichNum = PRNG.Next(Me._theHopper.Count) Me._draw.Add(Me._theHopper(whichNum)) If Not DuplicatesAllowed Then Me._theHopper.RemoveAt(whichNum) Next End Sub Public Overrides Function ToString() As String If Me._draw Is Nothing Then Return Nothing Else Dim sb As New System.Text.StringBuilder For Each num As Integer In Me._draw sb.Append(num) sb.Append(" ") Next Return sb.ToString End If End Function Public ReadOnly Property Count() As Integer Get Return Me._draw.Count End Get End Property Public Function Item(itemNum As Integer) As Integer Return Me._draw(itemNum) End Function End Class </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload