Visual Basic - Lösning Lab 10

Option Explicit

Private Sub cmdSlump1_Click()

'Rensa listan före varje ny slumpning
lst1.Clear

'Kontrollera spelform
If OptLotto.Value = True Then

Dim lottoSiffra As Integer 'Det slumpade talet

'Slumpa 7 nummer från 1 till 35 och lägg de i listan
lottoSiffra = Int(Rnd * 35) + 1
lst1.AddItem Str(lottoSiffra)

lottoSiffra = Int(Rnd * 35) + 1
lst1.AddItem Str(lottoSiffra)

lottoSiffra = Int(Rnd * 35) + 1
lst1.AddItem Str(lottoSiffra)

lottoSiffra = Int(Rnd * 35) + 1
lst1.AddItem Str(lottoSiffra)

lottoSiffra = Int(Rnd * 35) + 1
lst1.AddItem Str(lottoSiffra)

lottoSiffra = Int(Rnd * 35) + 1
lst1.AddItem Str(lottoSiffra)

lottoSiffra = Int(Rnd * 35) + 1
lst1.AddItem Str(lottoSiffra)

Else

Dim måltipsSiffra As Integer 'Det slumpade talet

'Slumpa 8 nummer från 1 till 28 och lägg de i listan
måltipsSiffra = Int(Rnd * 28) + 1
lst1.AddItem Str(måltipsSiffra)

måltipsSiffra = Int(Rnd * 28) + 1
lst1.AddItem Str(måltipsSiffra)

måltipsSiffra = Int(Rnd * 28) + 1
lst1.AddItem Str(måltipsSiffra)

måltipsSiffra = Int(Rnd * 28) + 1
lst1.AddItem Str(måltipsSiffra)

måltipsSiffra = Int(Rnd * 28) + 1
lst1.AddItem Str(måltipsSiffra)

måltipsSiffra = Int(Rnd * 28) + 1
lst1.AddItem Str(måltipsSiffra)

måltipsSiffra = Int(Rnd * 28) + 1
lst1.AddItem Str(måltipsSiffra)

måltipsSiffra = Int(Rnd * 28) + 1
lst1.AddItem Str(måltipsSiffra)

End If

End Sub

Private Sub cmdSlump2_Click()

'Rensa listan före varje ny slumpning
lst2.Clear

Dim antal As Integer
Dim högsta As Integer

'Kontrollera spelform
If OptLotto.Value = True Then

antal = 7
högsta = 35

Else

antal = 8
högsta = 28

End If

'Slumpa 'antal' siffror från 1 till 'högsta'
Dim i As Integer
For i = 1 To antal

'Slumpa från 1 till vad variabeln 'högsta' innehåller
Dim siffra As Integer
siffra = Int(Rnd * högsta) + 1

'Lägg till talet i listan
lst2.AddItem Str(siffra)

Next i

End Sub


Private Sub cmdSlump3_Click()

'Rensa listan före varje ny slumpning
lst3.Clear

Dim antal As Integer
Dim högsta As Integer

'Kontrollera spelform
If OptLotto.Value = True Then

antal = 7
högsta = 35

Else

antal = 8
högsta = 28

End If

'Slumpa 'antal' siffror från 1 till 'högsta'
Dim i As Integer
For i = 1 To antal

'Slumpa från 1 till vad variabeln 'högsta' innehåller
Dim siffra As Integer
siffra = Int(Rnd * högsta) + 1

'Om talet är tvåsiffrigt...
If siffra >= 10 Then

'lägg till talet i listan
lst3.AddItem Str(siffra)

Else

'annars: lägg talet i listan men med ett 'mellanslag' före
lst3.AddItem " " & Str(siffra)

End If

Next i

End Sub

Private Sub cmdSlump4_Click()

'Rensa listan före varje ny slumpning
lst4.Clear

Dim antal As Integer
Dim högsta As Integer

'Kontrollera spelform
If OptLotto.Value = True Then

antal = 7
högsta = 35

Else

antal = 8
högsta = 28

End If

'Slumpa 'antal' siffror från 1 till 'högsta'
Dim i As Integer
For i = 1 To antal


Do 'Upprepa tills... (se nedan vid 'Loop')

'Slumpa från 1 till vad variabeln 'högsta' innehåller
Dim siffra As Integer
siffra = Int(Rnd * högsta) + 1

'Kolla om siffran är använd
Dim använd As Boolean
använd = False

'Gå igenom alla tidigare tal i listan
Dim j As Integer
For j = 1 To i - 1

'Jämför den nya siffran med tidigare
If siffra = Val(lst4.List(j - 1)) Then

'Dubblett hittad
använd = True

End If

Next j

Loop Until använd = False '... den nya siffran inte är använd

'Om talet är tvåsiffrigt...
If siffra >= 10 Then

'lägg till talet i listan
lst4.AddItem Str(siffra)

Else

'annars: lägg talet i listan men med ett 'mellanslag' före
lst4.AddItem " " & Str(siffra)

End If

Next i

End Sub

Private Sub Form_Load()

Randomize

End Sub

Private Sub OptMåltips_Click()

End Sub