[code=vbnet]Public Class hogerlager
    Private intWin As Integer
    Private intLoss As Integer
    Private intScore As Integer
    Private intNumber As Integer
    Private intNewNumber As Integer
    Private intMax As Integer = 100
    Private objRandom As New Random()

    Public WriteOnly Property max() As Integer
        Set(ByVal value As Integer)
            intMax = value
        End Set
    End Property

    Public ReadOnly Property wins() As Integer
        Get
            Return intWin
        End Get
    End Property

    Public ReadOnly Property loss() As Integer
        Get
            Return intLoss
        End Get
    End Property

    Public ReadOnly Property score() As Integer
        Get
            Return intScore
        End Get
    End Property

    Public ReadOnly Property number() As Integer
        Get
            Return intNewNumber
        End Get
    End Property

    Public Sub newgame()
        intNumber = objRandom.Next(0, intMax)
        newNumber()
    End Sub

    Private Sub newNumber()
        intNewNumber = objRandom.Next(0, intMax)
        If (intNewNumber = intNumber) Then
            Me.newNumber()
        End If
    End Sub

    Private Sub nextnumber()
        intNumber = intNewNumber
        newNumber()
    End Sub

    Public Function higher() As Boolean
        nextnumber()
        If (intNewNumber > intNumber) Then
            intWin += 1
            intScore += 1

            Return True
        Else
            intLoss += 1
            intScore -= 1
            Return False
        End If
    End Function

    Public Function lower() As Boolean
        nextnumber()
        If (intNewNumber < intNumber) Then
            intWin += 1
            intScore += 1
            Return True
        Else
            intLoss += 1
            intScore -= 1
            Return False
        End If
    End Function

End Class
