Jeg har selv forsøgt vha. en sortering i en liste.. Dette ud fra reglerne her:
http://www.21winners.dk/online-spil/poker.htmKoden skelner først mellem om der er nogle ens kort (par) eller alle kortene er numererisk forskellige. Det sidste virker fint, men jeg har nogle problemer ved identificeringen af par.. F.eks. ved 2 par og fuldt hus har jeg problemer.
Kan du hjælpe med dette, Martin Moth?
Så får du de 120 point... Jeg kan også sende dig hele spillet hvis det er!?
::::::::::::::::::::::: KODEN ::::::::::::::::::::::
Private Sub Command3_Click()
' sortering i listen Lst(2):
Lst(2).AddItem Lst(0).List(0)
Lst(2).AddItem Lst(0).List(1)
Lst(2).AddItem Lst(0).List(2)
Lst(2).AddItem Lst(0).List(3)
Lst(2).AddItem Lst(0).List(4)
' de sorterede kort gemmes:
kort1 = Lst(2).List(0)
kort2 = Lst(2).List(1)
kort3 = Lst(2).List(2)
kort4 = Lst(2).List(3)
kort5 = Lst(2).List(4)
If Right(kort1, "2") <> Right(kort2, "2") And Right(kort1, "2") <> Right(kort3, "2") And Right(kort1, "2") <> Right(kort4, "2") And Right(kort1, "2") <> Right(kort5, "2") And Right(kort2, "2") <> Right(kort3, "2") And Right(kort2, "2") <> Right(kort4, "2") And Right(kort2, "2") <> Right(kort5, "2") And Right(kort3, "2") <> Right(kort4, "2") And Right(kort3, "2") <> Right(kort5, "2") And Right(kort4, "2") <> Right(kort5, "2") Then
' tjek om de har forskellige numre
If Left(kort1, "1") = Left(kort2, "1") And Left(kort1, "1") = Left(kort3, "1") And Left(kort1, "1") = Left(kort4, "1") And Left(kort1, "1") = Left(kort5, "1") Then
' tjek om samme kulør
If Right(kort1, "2") = "10" And Right(kort2, "2") = 11 And Right(kort3, "2") = 12 And Right(kort4, "2") = 13 And Right(kort1, "2") = 1 Then
' tjek om det er 10 - es
Label5.Caption = "ROYAL FLUSH"
Label7.Caption = (Label7.Caption + 750)
End If
If Right(kort4, "2") = (Right(kort5, "2") - 1) And Right(kort3, "2") = (Right(kort4, "2") - 1) And Right(kort2, "2") = (Right(kort3, "2") - 1) And Right(kort1, "2") = (Right(kort2, "2") - 1) Then
' tjek om de 5 ligger i rækkefølge
Label5.Caption = "STRAIGHT FLUSH"
Label7.Caption = (Label7.Caption + 150)
Else
' 5 med ens kulør men ingen rækkefølge
Label5.Caption = "FLUSH"
Label7.Caption = (Label7.Caption + 15)
End If
Else
' Hverken par eller samme kulør
' sortering i nummerisk rækkefølge i listen Lst(2):
Lst(2).Clear
Lst(2).AddItem Right(kort1, "2")
Lst(2).AddItem Right(kort2, "2")
Lst(2).AddItem Right(kort3, "2")
Lst(2).AddItem Right(kort4, "2")
Lst(2).AddItem Right(kort5, "2")
' de sorterede kort gemmes:
kort1 = Lst(2).List(0)
kort2 = Lst(2).List(1)
kort3 = Lst(2).List(2)
kort4 = Lst(2).List(3)
kort5 = Lst(2).List(4)
If kort4 = (kort5 - 1) And kort3 = (kort4 - 1) And kort2 = (kort3 - 1) And kort1 = (kort2 - 1) Then
' tjek om de 5 ligger i rækkefølge
Label5.Caption = "STRAIGHT"
Label7.Caption = (Label7.Caption + 12)
Else
Label5.Caption = "Du tabte rundten!"
End If
End If
Else
' 4, 3 eller 2 ens? 2 par eller fuldt hus?
' sortering i nummerisk rækkefølge i listen Lst(2):
Lst(2).Clear
Lst(2).AddItem Right(kort1, "2")
Lst(2).AddItem Right(kort2, "2")
Lst(2).AddItem Right(kort3, "2")
Lst(2).AddItem Right(kort4, "2")
Lst(2).AddItem Right(kort5, "2")
' de sorterede kort gemmes:
kort1 = Lst(2).List(0)
kort2 = Lst(2).List(1)
kort3 = Lst(2).List(2)
kort4 = Lst(2).List(3)
kort5 = Lst(2).List(4)
If (kort1 - kort2) = 0 Then
' tjek om kort1 og kort2 danner par
If (kort1 - kort2) = 0 And (kort3 - kort4) = 0 Then
If (kort1 - kort4) = 0 Then
Label5.Caption = "FOUR OF A KIND"
Label7.Caption = (Label7.Caption + 75)
Else
Label5.Caption = "TWO PAIR"
Label7.Caption = (Label7.Caption + 6)
End If
End If
If ((kort1 - kort3) = 0 And (kort4 - kort5) = 0) Or ((kort1 - kort2) = 0 And (kort3 - kort5) = 0) Then
Label5.Caption = "FULL HOUSE"
Label7.Caption = (Label7.Caption + 24)
End If
If (kort1 - kort3) = 0 Then
Label5.Caption = "THREE OF A KIND"
Label7.Caption = (Label7.Caption + 9)
Else
If kort1 > 10 Or kort1 = 1 Then
' tjek om parret er knægt - es
Label5.Caption = "JACKS OR BETTER"
Label7.Caption = (Label7.Caption + 3)
Else
Label5.Caption = "Du tabte rundten!"
End If
End If
End If
If (kort2 - kort3) = 0 Then
' tjek om kort2 og kort3 danner par
If (kort2 - kort3) = 0 And (kort4 - kort5) = 0 Then
' tjek om der er 2 par eller 4 ens
If (kort2 - kort5) = 0 Then
' tjek om 4 ens
Label5.Caption = "FOUR OF A KIND"
Label7.Caption = (Label7.Caption + 75)
Else
' ellers 2 par
Label5.Caption = "TWO PAIR"
Label7.Caption = (Label7.Caption + 6)
End If
End If
If (kort2 - kort4) = 0 Then
' tjek om kort2 og kort4 er ens
Label5.Caption = "THREE OF A KIND"
Label7.Caption = (Label7.Caption + 9)
End If
If kort2 > 10 Or kort2 = 1 Then
' tjek om parret er knægt - es
Label5.Caption = "JACKS OR BETTER"
Label7.Caption = (Label7.Caption + 3)
Else
Label5.Caption = "Du tabte rundten!"
End If
End If
If (kort3 - kort4) = 0 Then
' tjek om kort3 og kort4 danner par
If (kort3 - kort5) = 0 Then
' tjek om kort3 og kort5 danner par
Label5.Caption = "THREE OF A KIND"
Label7.Caption = (Label7.Caption + 9)
End If
If kort3 > 10 Or kort3 = 1 Then
' tjek om parret er knægt - es
Label5.Caption = "JACKS OR BETTER"
Label7.Caption = (Label7.Caption + 3)
Else
Label5.Caption = "Du tabte rundten!"
End If
End If
If (kort4 - kort5) = 0 Then
' tjek om kort4 og kort5 danner par
If kort4 > 10 Or kort4 = 1 Then
' tjek om parret er knægt - es
Label5.Caption = "JACKS OR BETTER"
Label7.Caption = (Label7.Caption + 3)
Else
Label5.Caption = "Du tabte rundten!"
End If
End If
End If
End Sub