Miten miten tämä sama olis vb.netissä?
Private Sub Form_Load() Dim nopat() 'ykköset nopat = Array(1, 1, 1, 4, 5) MsgBox "Ykköset: " & LaskePisteet(nopat(), 1) End Sub Function LaskePisteet(nopat(), kuvio As Integer) As Integer Dim pisteet As Integer, i As Integer, j As Integer, t As Integer 'järjestetään nopat suuruusjärjestykseen For i = 0 To 4 For j = 0 To 3 If nopat(j) < nopat(j + 1) Then t = nopat(j) nopat(j) = nopat(j + 1) nopat(j + 1) = t End If Next Next 'lasketaan pisteet kuvion perusteella Select Case kuvio Case 1, 2, 3, 4, 5, 6 'ykköset-kuutoset For i = 0 To 4 If nopat(i) = kuvio Then pisteet = pisteet + kuvio End If Next Case 7 'pari If nopat(0) = nopat(1) Then pisteet = 2 * nopat(0) ElseIf nopat(1) = nopat(2) Then pisteet = 2 * nopat(1) ElseIf nopat(2) = nopat(3) Then pisteet = 2 * nopat(2) ElseIf nopat(3) = nopat(4) Then pisteet = 2 * nopat(3) End If Case 8 'kahdet parit If nopat(0) = nopat(1) And nopat(2) = nopat(3) And nopat(0) <> nopat(2) Then pisteet = 2 * nopat(0) + 2 * nopat(2) ElseIf nopat(1) = nopat(2) And nopat(3) = nopat(4) And nopat(1) <> nopat(3) Then pisteet = 2 * nopat(1) + 2 * nopat(3) End If Case 9 'kolmoset If nopat(0) = nopat(2) Or nopat(1) = nopat(3) Or nopat(2) = nopat(4) Then pisteet = 3 * nopat(2) End If Case 10 'neloset If nopat(0) = nopat(3) Or nopat(1) = nopat(4) Then pisteet = 4 * nopat(2) End If Case 11 'pieni suora If nopat(0) = 5 And nopat(1) = 4 And nopat(2) = 3 And nopat(3) = 2 And nopat(4) = 1 Then pisteet = 15 End If Case 12 'suuri suora If nopat(0) = 6 And nopat(1) = 5 And nopat(2) = 4 And nopat(3) = 3 And nopat(4) = 2 Then pisteet = 20 End If Case 13 'täyskäsi If nopat(0) = nopat(2) And nopat(3) = nopat(4) And nopat(0) <> nopat(4) Then pisteet = pisteet + nopat(0) * 3 + nopat(4) * 2 ElseIf nopat(0) = nopat(1) And nopat(2) = nopat(4) And nopat(0) <> nopat(4) Then pisteet = pisteet + nopat(0) * 2 + nopat(4) * 3 End If Case 14 'sattuma For i = 0 To 4 pisteet = pisteet + nopat(i) Next Case 15 'jatsi If nopat(0) = nopat(4) Then pisteet = 50 End If End Select LaskePisteet = pisteet End Function
Kovin laajoja muutoksia ei vaadita.
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim nopat() As Integer 'ykköset nopat = New Integer() {1, 1, 1, 4, 5} MsgBox("Ykköset: " & LaskePisteet(nopat, 1)) End Sub
Function LaskePisteet(ByVal nopat() As Integer, ByVal kuvio As Integer) As Integer
Aihe on jo aika vanha, joten et voi enää vastata siihen.