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