Auteur: Wim - 06 december 2007 - 22:33 - Gekeurd door: Abbas - Hits: 4973 - Aantal punten: 4.50 (2 stemmen)
Ik heb bijna een examen VB.net dus ben wat simpele applicaties aan't maken...
Deze applicatie is een klein spelletje, namelijk hoger-lager. De speler krijgt een (random) getal te zien, en moet zeggen of het volgende getal hoger of lager gaat zijn...
2 functies: higher, lower (retourneren true/false als ze respectievelijk correct of incorrect zijn)
Het getal dat weergegeven moet worden in het formulier zit in de property number.
Om een nieuw spel te starten (om de numbers goed te zetten dus, bij je onload) roep je de procedure newgame aan.
Voorbeeld van gebruik (met een knop hoger en een knop lager; daarbij 3 labels voor de scores en 1 label voor het getal):
Public Class frmHogerLager
Dim hogerlager As New hogerlager
Private Sub btnHigher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHigher.Click
If (hogerlager.higher()) Then
MessageBox.Show("correct!")
Else
MessageBox.Show("Wrong!")
End If
nextnumber()
End Sub
Private Sub btnLower_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLower.Click
If (hogerlager.lower()) Then
MessageBox.Show("correct!")
Else
MessageBox.Show("Wrong!")
End If
nextnumber()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
hogerlager.newgame()
lblNumber.Text = hogerlager.number.ToString
End Sub
Public Sub nextnumber()
lblNumber.Text = hogerlager.number.ToString
lblWins.Text = hogerlager.wins.ToString
lblLoss.Text = hogerlager.loss.ToString
lblScore.Text = hogerlager.score.ToString
End Sub
End Class
PublicClass frmHogerLager
Dim hogerlager AsNew hogerlager
PrivateSub btnHigher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles btnHigher.Click
If(hogerlager.higher())Then
MessageBox.Show("correct!")
Else
MessageBox.Show("Wrong!")
EndIf
nextnumber()
EndSub
PrivateSub btnLower_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles btnLower.Click
If(hogerlager.lower())Then
MessageBox.Show("correct!")
Else
MessageBox.Show("Wrong!")
EndIf
nextnumber()
EndSub
PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)HandlesMyBase.Load
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