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
|