Public Class Form1
Dim EersteGetal(9), TweedeGetal(9), Antwoord(9) As Integer
Dim Label(9) As Label
Dim Vermenigvuldigen As New RadioButton
Dim Delen As New RadioButton
Dim Aftrekken As New RadioButton
Dim Optellen As New RadioButton
Dim Aantal As Integer
Dim Counter As Integer = 0
Dim lblEersteGetal() As Label = New Label() {New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label()}
Dim lblOperator() As Label = New Label() {New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label()}
Dim lblTweedeGetal() As Label = New Label() {New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label()}
Dim lblIsGelijk() As Label = New Label() {New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label(), New Label()}
Dim txtAntwoord() As TextBox = New TextBox() {New TextBox(), New TextBox(), New TextBox(), New TextBox(), New TextBox(), New TextBox(), New TextBox(), New TextBox(), New TextBox(), New TextBox()}
Dim btnControleren() As Button = New Button() {New Button(), New Button(), New Button(), New Button(), New Button(), New Button(), New Button(), New Button(), New Button(), New Button()}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Size = New System.Drawing.Size(352, 496)
Vermenigvuldigen.Location = New System.Drawing.Point(35, 32)
Delen.Location = New System.Drawing.Point(35, 56)
Aftrekken.Location = New System.Drawing.Point(179, 32)
Optellen.Location = New System.Drawing.Point(179, 56)
Vermenigvuldigen.AutoSize = True
Delen.AutoSize = True
Aftrekken.AutoSize = True
Optellen.AutoSize = True
Vermenigvuldigen.Text = "Vermenigvuldigen"
Delen.Text = "Delen"
Aftrekken.Text = "Aftrekken"
Optellen.Text = "Optellen"
Me.Controls.AddRange(New Control() {Vermenigvuldigen, Delen, Aftrekken, Optellen})
AddHandler Vermenigvuldigen.MouseClick, AddressOf RadioButtonsKlik
AddHandler Delen.MouseClick, AddressOf RadioButtonsKlik
AddHandler Aftrekken.MouseClick, AddressOf RadioButtonsKlik
AddHandler Optellen.MouseClick, AddressOf RadioButtonsKlik
End Sub
Private Sub SommenMaken()
Dim MaximaalGetal As Integer = 5
Dim WillekeurigGetal As New Random()
For b As Integer = 0 To (EersteGetal.Length - 1)
EersteGetal(b) = WillekeurigGetal.Next(1, MaximaalGetal)
TweedeGetal(b) = WillekeurigGetal.Next(1, MaximaalGetal)
If Vermenigvuldigen.Checked = True Then Antwoord(b) = EersteGetal(b) * TweedeGetal(b)
If Delen.Checked = True Then
'Creeer een goede deelbare som , waarvan het antwoord niet hoger is dan Maximaalgetal.
'Zet het daarna in de goede volgorde.
Antwoord(b) = EersteGetal(b) * TweedeGetal(b)
Dim TempGetal As Integer = Antwoord(b)
Antwoord(b) = EersteGetal(b)
EersteGetal(b) = TempGetal
End If
If EersteGetal(b) > TweedeGetal(b) Then 'Geen negatieve uitkomsten
If Aftrekken.Checked = True Then Antwoord(b) = EersteGetal(b) - TweedeGetal(b)
Else
If Aftrekken.Checked = True Then Antwoord(b) = TweedeGetal(b) - EersteGetal(b)
End If
If Optellen.Checked = True Then Antwoord(b) = EersteGetal(b) + TweedeGetal(b)
Next
End Sub
Private Sub SomOpFormLatenZien(ByVal Bovenkant As Integer, ByVal Links As Integer, ByVal Aantal As Integer)
If Aantal >= 10 Then
MsgBox("U heeft uw 10 sommen gemaakt!")
Exit Sub
End If
If Vermenigvuldigen.Checked = True Then lblOperator(Aantal).Text = "x"
If Delen.Checked = True Then lblOperator(Aantal).Text = ":"
If Aftrekken.Checked = True Then lblOperator(Aantal).Text = "-"
If Optellen.Checked = True Then lblOperator(Aantal).Text = "+"
Me.Controls.AddRange(New Control() {lblEersteGetal(Aantal), lblOperator(Aantal), lblTweedeGetal(Aantal), lblIsGelijk(Aantal), txtAntwoord(Aantal), btnControleren(Aantal)})
lblEersteGetal(Aantal).AutoSize = True
lblOperator(Aantal).AutoSize = True
lblTweedeGetal(Aantal).AutoSize = True
lblIsGelijk(Aantal).AutoSize = True
btnControleren(Aantal).AutoSize = True
txtAntwoord(Aantal).Width = 25
lblEersteGetal(Aantal).Location = New System.Drawing.Point(Links, (Bovenkant + (Aantal * 30)))
lblOperator(Aantal).Location = New System.Drawing.Point(Links + 20, (Bovenkant + (Aantal * 30)))
lblTweedeGetal(Aantal).Location = New System.Drawing.Point(Links + 35, (Bovenkant + (Aantal * 30)))
lblIsGelijk(Aantal).Location = New System.Drawing.Point(Links + 55, (Bovenkant + (Aantal * 30)))
txtAntwoord(Aantal).Location = New System.Drawing.Point(Links + 75, (Bovenkant + (Aantal * 30)))
btnControleren(Aantal).Location = New System.Drawing.Point(Links + 125, (Bovenkant + (Aantal * 30)))
lblEersteGetal(Aantal).Text = EersteGetal(Aantal)
lblTweedeGetal(Aantal).Text = TweedeGetal(Aantal)
lblIsGelijk(Aantal).Text = "="
btnControleren(Aantal).Text = "Controleren"
AddHandler btnControleren(Aantal).MouseClick, AddressOf Controleren
End Sub
Private Sub RadioButtonsKlik(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Call SommenMaken()
Call SomOpFormLatenZien(100, 20, Counter)
End Sub
Private Sub Controleren(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
If txtAntwoord(Counter).Text = Antwoord(Counter) Then
sender.BackColor = System.Drawing.Color.Green
sender.Text = "Goed!"
Else
sender.BackColor = System.Drawing.Color.Red
sender.Text = "Fout!"
End If
Counter += 1
Call SomOpFormLatenZien(100, 20, Counter)
End Sub
End Class