Teen ensimmäistä peliä, koska tarvin kouluun VB tuntien loppumis-päättötyön! Ja tuli pieni ongelma miten saada nopat pysäytettyä! Sitten vielä pitäisi saada noppien kuvat lisäkansiosta pois ettei aina tarvi määritellä kansiota siihen peliin!
Listauksessa näkyy noppien arvonta ja kuvien tulostus!(Siitä pitäisi saada pois "C:\....." Kansioiden nimet)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim noppa1 As Integer Dim noppa2 As Integer Dim noppa3 As Integer Dim noppa4 As Integer Dim noppa5 As Integer Randomize() noppa1 = Int(Rnd() * 6) 'arvotaan nopan luku noppa2 = Int(Rnd() * 6) 'arvonnassa luku on 0 - 5 noppa3 = Int(Rnd() * 6) 'nopassa numero 1 on arvonnassa 0 ja 6 on taas arvonnassa 5 noppa4 = Int(Rnd() * 6) noppa5 = Int(Rnd() * 6) 'Tulostetaan nopan kuva mikä tulee arvottuna If noppa1 <= 5 And noppa1 > 4 Then PictureBox1.Image = New Bitmap("nopat\dice6.gif") ElseIf noppa1 <= 4 And noppa1 > 3 Then PictureBox1.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice5.gif") ElseIf noppa1 <= 3 And noppa1 > 2 Then PictureBox1.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice4.gif") ElseIf noppa1 <= 2 And noppa1 > 1 Then PictureBox1.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice3.gif") ElseIf noppa1 <= 1 And noppa1 > 0 Then PictureBox1.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice2.gif") Else PictureBox1.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice1.gif") End If If noppa2 <= 5 And noppa2 > 4 Then PictureBox2.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice6.gif") ElseIf noppa2 <= 4 And noppa2 > 3 Then PictureBox2.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice5.gif") ElseIf noppa2 <= 3 And noppa2 > 2 Then PictureBox2.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice4.gif") ElseIf noppa2 <= 2 And noppa2 > 1 Then PictureBox2.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice3.gif") ElseIf noppa2 <= 1 And noppa2 > 0 Then PictureBox2.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice2.gif") Else PictureBox2.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice1.gif") End If If noppa3 <= 5 And noppa3 > 4 Then PictureBox3.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice6.gif") ElseIf noppa3 <= 4 And noppa3 > 3 Then PictureBox3.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice5.gif") ElseIf noppa3 <= 3 And noppa1 > 2 Then PictureBox3.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice4.gif") ElseIf noppa3 <= 2 And noppa3 > 1 Then PictureBox3.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice3.gif") ElseIf noppa3 <= 1 And noppa3 > 0 Then PictureBox3.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice2.gif") Else PictureBox3.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice1.gif") End If If noppa4 <= 5 And noppa4 > 4 Then PictureBox4.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice6.gif") ElseIf noppa4 <= 4 And noppa4 > 3 Then PictureBox4.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice5.gif") ElseIf noppa4 <= 3 And noppa4 > 2 Then PictureBox4.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice4.gif") ElseIf noppa4 <= 2 And noppa4 > 1 Then PictureBox4.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice3.gif") ElseIf noppa4 <= 1 And noppa4 > 0 Then PictureBox4.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice2.gif") Else PictureBox4.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice1.gif") End If If noppa5 <= 5 And noppa5 > 4 Then PictureBox5.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice6.gif") ElseIf noppa5 <= 4 And noppa5 > 3 Then PictureBox5.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice5.gif") ElseIf noppa5 <= 3 And noppa5 > 2 Then PictureBox5.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice4.gif") ElseIf noppa5 <= 2 And noppa5 > 1 Then PictureBox5.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice3.gif") ElseIf noppa5 <= 1 And noppa5 > 0 Then PictureBox5.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice2.gif") Else PictureBox5.Image = New Bitmap("C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\dice1.gif") End If End Sub
Kannattaisi käyttää rakennetta:
Select NoppaLuku
...
case 6
...
case 5
...
...
case 1
...
End Select
Lisäksi saat paremman luettavuuden kun
Dim Polku as string = "C:\Omat tiedostot\Omat eBook-kirjat\Teku\RAMK\Visual Basic .NET\Yatzi\bin\nopat\"
PictureBox5.Image = New Bitmap("Polku & "dice1")
Vielä yksinkertaisemman saat laittamalla tiedostot taulukkon:
Dim Taulukko(6) as string
Taulukko(1)=Polku & "dice1.gif"
PictureBox5.Image = New Bitmap(Taulukko(noppaLuku))
Aihe on jo aika vanha, joten et voi enää vastata siihen.