Option Strict On
Imports System.Console
Module Module1
Sub Main()
Dim StrYkkoset, StrKakkoset, StrKolmoset, StrNeloset, StrVitoset, StrKutoset As String
Dim StrPari, StrKaksiparia, StrKolmesamaa, StrNeljasamaa, StrPienisuora, StrSuurisuora As String
Dim StrMokki, StrSattuma, StrYatzy As String
Dim IntYkkoset_pisteet, IntKakkoset_pisteet, IntKolmoset_pisteet, IntNeloset_pisteet, IntVitoset_pisteet As Integer
Dim IntKutoset_pisteet, IntPari_pisteet, IntKaksiparia_pisteet, IntKolmesamaa_pisteet, IntNeljasamaa_pisteet As Integer
Dim IntPienisuora_pisteet, IntSuurisuora_pisteet, IntMokki_pisteet, IntSattuma_pisteet, IntYatzy_pisteet As Integer
Dim ykkoset_test, kakkoset_test, kolmoset_test, neloset_test, vitoset_test, kutoset_test As Boolean
Dim pari_test, kaksiparia_test, kolmesamaa_test, neljasamaa_test, pienisuora_test, suurisuora_test As Boolean
Dim mokki_test, sattuma_test, yatzy_test As Boolean
Dim laskuri As Integer
Dim heitto(4) As Integer
Dim IntValitselokero As Integer
Dim i, a, z As Integer
ykkoset_test = True
kakkoset_test = True
kolmoset_test = True
neloset_test = True
vitoset_test = True
kutoset_test = True
pari_test = True
kaksiparia_test = True
kolmesamaa_test = True
neljasamaa_test = True
pienisuora_test = True
suurisuora_test = True
mokki_test = True
sattuma_test = True
yatzy_test = True
For i = 1 To 15
For z = 0 To 4
Randomize()
heitto(z) = CInt(Int(6 * Rnd()))
Next
WriteLine("Heitit seuraavat silmäluvut:")
WriteLine()
WriteLine(heitto(0) & ", " & heitto(1) & ", " & heitto(2) & ", " & heitto(3) & " ja " & heitto(4))
WriteLine()
If ykkoset_test = True Then
StrYkkoset = (" 1: Ykköset")
Else : StrYkkoset = ("")
End If
If kakkoset_test = True Then
StrKakkoset = (" 2: Kakkoset")
Else : StrKakkoset = ("")
End If
If kolmoset_test = True Then
StrKolmoset = (" 3: Kolmoset")
Else : StrKolmoset = ("")
End If
If neloset_test = True Then
StrNeloset = (" 4: Neloset")
Else : StrNeloset = ("")
End If
If vitoset_test = True Then
StrVitoset = (" 5: Vitoset")
Else : StrVitoset = ("")
End If
If kutoset_test = True Then
StrKutoset = (" 6: Kutoset")
Else : StrKutoset = ("")
End If
If pari_test = True Then
StrPari = (" 7: Pari")
Else : StrPari = ("")
End If
If kaksiparia_test = True Then
StrKaksiparia = (" 8: Kaksi paria")
Else : StrKaksiparia = ("")
End If
If kolmesamaa_test = True Then
StrKolmesamaa = (" 9: Kolme Samaa")
Else : StrKolmesamaa = ("")
End If
If neljasamaa_test = True Then
StrNeljasamaa = (" 10: Neljä samaa")
Else : StrNeljasamaa = ("")
End If
If pienisuora_test = True Then
StrPienisuora = (" 11: Pieni suora")
Else : StrPienisuora = ("")
End If
If suurisuora_test = True Then
StrSuurisuora = (" 12: Suuri suora")
Else : StrSuurisuora = ("")
End If
If mokki_test = True Then
StrMokki = (" 13: Mökki")
Else : StrMokki = ("")
End If
If sattuma_test = True Then
StrSattuma = (" 14: Sattuma")
Else : StrSattuma = ("")
End If
If yatzy_test = True Then
StrYatzy = (" 15: Yatzy")
Else : StrYatzy = ("")
End If
Do
WriteLine("Valitse vapaa paikka.")
WriteLine("Vapaita paikkoja ovat:")
WriteLine()
WriteLine(StrYkkoset & "" & StrKakkoset & "" & StrKolmoset & "" & StrNeloset & "" & StrVitoset)
WriteLine(StrKutoset & "" & StrPari & "" & StrKaksiparia & "" & StrKolmesamaa & "" & StrNeljasamaa)
WriteLine(StrPienisuora & "" & StrSuurisuora & "" & StrMokki & "" & StrSattuma & "" & StrYatzy)
WriteLine()
WriteLine("Valitse lokero syöttämällä sitä vastaava numero:")
WriteLine()
IntValitselokero = CInt(ReadLine())
WriteLine()
If IntValitselokero < 1 Or IntValitselokero > 12 Then
WriteLine()
WriteLine("Lokero on valittava numeroilla 1-12. Yritä uudestaan.")
WriteLine()
End If
Select Case IntValitselokero
' Katsotaan minkä lokeron käyttäjä on valinnut, ja tarkistetaan kunkin lokeron kohdalla onko käyttäjä
' oikeasti heittänyt lokeroon sopivat silmäluvut:
Case Is = 1
ykkoset_test = False
For a = 0 To 4
If heitto(a) = 1 Then
laskuri = laskuri + 1
End If
Next
If laskuri >= 1 Then
WriteLine("Heitit lokeroon sopivat silmäluvut. Laske saamasi pisteet:")
IntYkkoset_pisteet = CInt(ReadLine())
Else
WriteLine("Et heittänyt lokeroon sopivia silmälukuja. Sait lokeroon 0 pistettä.")
IntYkkoset_pisteet = 0
End If
laskuri = 0
' __________________________________________________
' Ykköset-lokero on tarkistettu ja pisteytetty yllä.
Case Is = 2
kakkoset_test = False
For a = 0 To 4
If heitto(a) = 2 Then
laskuri = laskuri + 1
End If
Next
If laskuri >= 1 Then
WriteLine("Heitit lokeroon sopivat silmäluvut. Laske saamasi pisteet:")
IntKakkoset_pisteet = CInt(ReadLine())
Else
WriteLine("Et heittänyt lokeroon sopivia silmälukuja. Sait lokeroon 0 pistettä.")
IntKakkoset_pisteet = 0
End If
laskuri = 0
'___________________________________________________
' Kakkoset-lokero on tarkistettu ja pisteytetty yllä.
Case Is = 3
kolmoset_test = False
For a = 0 To 4
If heitto(a) = 3 Then
laskuri = laskuri + 1
End If
Next
If laskuri >= 1 Then
WriteLine("Heitit lokeroon sopivat silmäluvut. Laske saamasi pisteet:")
IntKolmoset_pisteet = CInt(ReadLine())
Else
WriteLine("Et heittänyt lokeroon sopivia silmälukuja. Sait lokeroon 0 pistettä.")
IntKolmoset_pisteet = 0
End If
laskuri = 0
'____________________________________________________
' Kolmoset-lokero on tarkistettu ja pisteytetty yllä.
Case Is = 4
neloset_test = False
For a = 0 To 4
If heitto(a) = 4 Then
laskuri = laskuri + 1
End If
Next
If laskuri >= 1 Then
WriteLine("Heitit lokeroon sopivat silmäluvut. Laske saamasi pisteet:")
IntNeloset_pisteet = CInt(ReadLine())
Else
WriteLine("Et heittänyt lokeroon sopivia silmälukuja. Sait lokeroon 0 pistettä.")
IntNeloset_pisteet = 0
End If
laskuri = 0
'____________________________________________________
' Neloset-lokero on tarkistettu ja pisteytetty yllä.
Case Is = 5
vitoset_test = False
For a = 0 To 4
If heitto(a) = 5 Then
laskuri = laskuri + 1
End If
Next
If laskuri >= 1 Then
WriteLine("Heitit lokeroon sopivat silmäluvut. Laske saamasi pisteet:")
IntVitoset_pisteet = CInt(ReadLine())
Else
WriteLine("Et heittänyt lokeroon sopivia silmälukuja. Sait lokeroon 0 pistettä.")
IntVitoset_pisteet = 0
End If
laskuri = 0
'____________________________________________________
' Neloset-lokero on tarkistettu ja pisteytetty yllä.
Case Is = 6
kutoset_test = False
WriteLine("Montako pistettä laskit lokeroon? (Laske kaikki heittämäsi kutoset yhteen)")
IntKutoset_pisteet = CInt(ReadLine())
Case Is = 7
pari_test = False
WriteLine("Montako pistettä laskit lokeroon? (Laske parin silmäluvut yhteen)")
IntPari_pisteet = CInt(ReadLine())
Case Is = 8
kaksiparia_test = False
WriteLine("Montako pistettä laskit lokeroon? (Laske molempien parien silmäluvut yhteen)")
IntKaksiparia_pisteet = CInt(ReadLine())
Case Is = 9
kolmesamaa_test = False
WriteLine("Montako pistettä laskit lokeroon? (Laske saamasi kolme samaa silmälukua yhteen)")
IntKolmesamaa_pisteet = CInt(ReadLine())
Case Is = 10
neljasamaa_test = False
WriteLine("Montako pistettä laskit lokeroon? (Laske saamasi neljä samaa silmälukua yhteen)")
IntNeljasamaa_pisteet = CInt(ReadLine())
Case Is = 11
pienisuora_test = False
WriteLine("Jos sait pienen suoran, saat 15 pistettä. Jollet, saat 0.")
Case Is = 12
suurisuora_test = False
Case Is = 13
mokki_test = False
Case Is = 14
sattuma_test = False
Case Is = 15
yatzy_test = False
End Select
Loop Until IntValitselokero >= 1 And IntValitselokero <= 15
Next
ReadLine()
End Sub
End Module