Jump to content

poker game (The first steps of using arrays)


Recommended Posts

poker game to study, play, or whatever you want !

an old challenge of mine that I have given up  :)

#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=poker.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ColorConstants.au3>
#include <Array.au3>

Opt("MustDeclareVars", 1) ;0=no, 1=require pre-declaration
#Region === GUI ===
Local $Form1_1 = GUICreate("Poker", 769, 382, 374, 395)
GUISetBkColor($COLOR_TEAL)
GUISetIcon(@ScriptDir & "\spade.ico")

Local $Pic1 = GUICtrlCreatePic("", 20, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $Pic2 = GUICtrlCreatePic("", 170, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $Pic3 = GUICtrlCreatePic("", 320, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $Pic4 = GUICtrlCreatePic("", 470, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $Pic5 = GUICtrlCreatePic("", 620, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)

Local $Hold1 = GUICtrlCreateLabel("", 20, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow
Local $Hold2 = GUICtrlCreateLabel("", 170, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow
Local $Hold3 = GUICtrlCreateLabel("", 320, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow
Local $Hold4 = GUICtrlCreateLabel("", 470, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow
Local $Hold5 = GUICtrlCreateLabel("", 620, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow

Local $Label1 = GUICtrlCreateLabel("", 20, 10, 587, 41, $SS_CENTER)
GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF) ;White

Local $Label2 = GUICtrlCreateLabel("", 620, 10, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow

Local $Button1 = GUICtrlCreateButton("START", 20, 320, 735, 35)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
;GUICtrlSetColor(-1, 0x000000)

Local $Button2 = GUICtrlCreateButton("RED", 290, 280, 100, 35)
GUICtrlSetState(-1, $GUI_HIDE)
Local $Button3 = GUICtrlCreateButton("BLACK", 400, 280, 100, 35)
GUICtrlSetState(-1, $GUI_HIDE)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
#Region === make the card ===
;clubs diamonds hearts spades
Local $aColor = ["clubs", "heart", "diamond", "spade"]
Local $shColor = ["C", "H", "D", "S"]
Local $k, $nMsg, $Str
Local $at = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "jack", "queen", "king", "ace"]
Local $Oat = ["102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114"]
Local $aCard[53][4]
$aCard[0][0] = 52

$k = 1
For $C = 0 To UBound($aColor) - 1
    For $j = 0 To UBound($at) - 1
        $aCard[$k][0] = $aColor[$C] & "_" & $at[$j] ; card full name
        $aCard[$k][1] = $shColor[$C]                ; suit
        $aCard[$k][2] = $at[$j]                     ; card
        $aCard[$k][3] = $Oat[$j]                    ; order
        $k += 1
    Next
Next

ReplaceInArray($aCard, "jack", "J", 2)
ReplaceInArray($aCard, "queen", "Q", 2)
ReplaceInArray($aCard, "king", "K", 2)
ReplaceInArray($aCard, "ace", "A", 2)

$aColor = 0
$shColor = 0
$at = 0
$Oat = 0
;_ArrayDisplay($aCard)
_ArrayShuffle($aCard, 1)
#EndRegion === make the card ===
Local $Rnt = 1, $Cnt = 1, $Score = 100, $GameMode = "Play", $WinAmount
Local $HandCard[6][4]
$HandCard[0][0] = 5
;*******************************************************************************
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Pic1
            If GUICtrlRead($Hold1) = "" Then
                GUICtrlSetData($Hold1, "Hold")
            Else
                GUICtrlSetData($Hold1, "")
            EndIf
        Case $Pic2
            If GUICtrlRead($Hold2) = "" Then
                GUICtrlSetData($Hold2, "Hold")
            Else
                GUICtrlSetData($Hold2, "")
            EndIf
        Case $Pic3
            If GUICtrlRead($Hold3) = "" Then
                GUICtrlSetData($Hold3, "Hold")
            Else
                GUICtrlSetData($Hold3, "")
            EndIf
        Case $Pic4
            If GUICtrlRead($Hold4) = "" Then
                GUICtrlSetData($Hold4, "Hold")
            Else
                GUICtrlSetData($Hold4, "")
            EndIf
        Case $Pic5
            If GUICtrlRead($Hold5) = "" Then
                GUICtrlSetData($Hold5, "Hold")
            Else
                GUICtrlSetData($Hold5, "")
            EndIf
            ;-------------------
        Case $Hold1

        Case $Button1  ;deal
            Button1()

        Case $Button2  ;red
            Button2()

        Case $Button3  ;black
            Button3()

    EndSwitch
WEnd
;********************************************************************************

;-------------------------------------------------------------------------------
Func Button1() ; deal , take
    Select
        Case $GameMode = "Play" ; then deal
            Deal()
        Case $GameMode = "Black-Red" ; then take
            $Score = $Score + $WinAmount
            GUICtrlSetState($Button2, $GUI_HIDE)
            GUICtrlSetState($Button3, $GUI_HIDE)
            GUICtrlSetFont($Label1, 24, 800, 0, "MS Sans Serif")
            GUICtrlSetData($Label1, "")
            GUICtrlSetData($Label2, $Score)
            GUICtrlSetFont($Label2, 24, 800, 0, "MS Sans Serif")
            Sleep(500)
            GUICtrlSetFont($Label2, 17, 800, 0, "MS Sans Serif")
            ;GUICtrlSetFont($Label2, 17, 800, 0, "MS Sans Serif")
            ;GUICtrlSetColor($Label2, 0xFFFF00) ;Yellow

            $GameMode = "Play"
            GUICtrlSetData($Button1, "DEAL")
            GUISetBkColor($COLOR_TEAL)

    EndSelect

EndFunc   ;==>Button1
;-------------------------------------------------------------------------------
Func Button2() ;red
    CardColor("Red")
EndFunc   ;==>Button2
;-------------------------------------------------------------------------------
Func Button3() ;black
    CardColor("Black")
EndFunc   ;==>Button3
;-------------------------------------------------------------------------------
Func ReplaceInArray(ByRef $Array, $oStr, $nStr, $Col)
    For $i = 0 To UBound($Array) - 1
        If $Array[$i][$Col] = $oStr Then
            $Array[$i][$Col] = $nStr
            ;ConsoleWrite ($oStr & " in " & $i & " to " & $nStr & @CRLF)
        EndIf
    Next
    ;ToConsole($Array, $Col)
EndFunc   ;==>ReplaceInArray
;-------------------------------------------------------------------------------
Func ToConsole($Array, $Col) ;write array to console
    For $i = 0 To UBound($Array) - 1
        ConsoleWrite($Array[$i][$Col] & "  ")
    Next
    ConsoleWrite(@CRLF)

EndFunc   ;==>ToConsole
;-------------------------------------------------------------------------------
Func TurnCards() ;TurnCards
    GUICtrlSetImage($Pic1, @ScriptDir & "\card\back04.jpg")
    GUICtrlSetImage($Pic2, @ScriptDir & "\card\back04.jpg")
    GUICtrlSetImage($Pic3, @ScriptDir & "\card\back04.jpg")
    GUICtrlSetImage($Pic4, @ScriptDir & "\card\back04.jpg")
    GUICtrlSetImage($Pic5, @ScriptDir & "\card\back04.jpg")
EndFunc   ;==>TurnCards
;-------------------------------------------------------------------------------
Func Deal() ;Deal the Cards
    Local $C, $R
    If $Rnt = 1 Then
        TurnCards()
        Sleep(300)
        _ArrayShuffle($aCard, 1)
        ckHolder()

        $Score = $Score - 1
        GUICtrlSetData($Label2, $Score)

        GUICtrlSetImage($Pic1, @ScriptDir & "\card\" & $aCard[1][0] & ".jpg")
        GUICtrlSetImage($Pic2, @ScriptDir & "\card\" & $aCard[2][0] & ".jpg")
        GUICtrlSetImage($Pic3, @ScriptDir & "\card\" & $aCard[3][0] & ".jpg")
        GUICtrlSetImage($Pic4, @ScriptDir & "\card\" & $aCard[4][0] & ".jpg")
        GUICtrlSetImage($Pic5, @ScriptDir & "\card\" & $aCard[5][0] & ".jpg")

        For $C = 0 To 3
            For $R = 1 To 5
                $HandCard[$R][$C] = $aCard[$R][$C]
            Next
        Next
        ;_ArrayDisplay($HandCard, "Deal")
        ToConsole($HandCard, 2)

        $Rnt = 2
        $Cnt = 6
    Else

        If GUICtrlRead($Hold1) = "" Then
            GUICtrlSetImage($Pic1, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[1][0] = $aCard[$Cnt][0]
            $HandCard[1][1] = $aCard[$Cnt][1]
            $HandCard[1][2] = $aCard[$Cnt][2]
            $HandCard[1][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf
        If GUICtrlRead($Hold2) = "" Then
            GUICtrlSetImage($Pic2, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[2][0] = $aCard[$Cnt][0]
            $HandCard[2][1] = $aCard[$Cnt][1]
            $HandCard[2][2] = $aCard[$Cnt][2]
            $HandCard[2][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf
        If GUICtrlRead($Hold3) = "" Then
            GUICtrlSetImage($Pic3, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[3][0] = $aCard[$Cnt][0]
            $HandCard[3][1] = $aCard[$Cnt][1]
            $HandCard[3][2] = $aCard[$Cnt][2]
            $HandCard[3][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf
        If GUICtrlRead($Hold4) = "" Then
            GUICtrlSetImage($Pic4, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[4][0] = $aCard[$Cnt][0]
            $HandCard[4][1] = $aCard[$Cnt][1]
            $HandCard[4][2] = $aCard[$Cnt][2]
            $HandCard[4][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf
        If GUICtrlRead($Hold5) = "" Then
            GUICtrlSetImage($Pic5, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[5][0] = $aCard[$Cnt][0]
            $HandCard[5][1] = $aCard[$Cnt][1]
            $HandCard[5][2] = $aCard[$Cnt][2]
            $HandCard[5][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf

        ckHolder()
        ToConsole($HandCard, 2)
        ChekForWin()
        $Rnt = 1
    EndIf

EndFunc   ;==>Deal
;-------------------------------------------------------------------------------
Func ckHolder() ;Check the Holders
    If GUICtrlRead($Label2) = "" Then GUICtrlSetData($Label2, $Score)

    If $Rnt = 1 Then
        ConsoleWrite("********************" & @CRLF)
        ConsoleWrite($Rnt & " Round ------------" & @CRLF)
        GUICtrlSetData($Button1, "OK")
        GUICtrlSetFont($Label1, 18, 800, 0, "MS Sans Serif")
        GUICtrlSetData($Label1, "hold your cards")

        GUICtrlSetState($Pic1, $GUI_ENABLE)
        GUICtrlSetState($Pic2, $GUI_ENABLE)
        GUICtrlSetState($Pic3, $GUI_ENABLE)
        GUICtrlSetState($Pic4, $GUI_ENABLE)
        GUICtrlSetState($Pic5, $GUI_ENABLE)

        GUICtrlSetData($Hold1, "")
        GUICtrlSetData($Hold2, "")
        GUICtrlSetData($Hold3, "")
        GUICtrlSetData($Hold4, "")
        GUICtrlSetData($Hold5, "")
    ElseIf $Rnt = 2 Then
        ConsoleWrite($Rnt & " Round ------------" & @CRLF)
        GUICtrlSetData($Button1, "DEAL")
        ;GUICtrlSetFont($Label1, 12, 800, 0, "MS Sans Serif")
        GUICtrlSetData($Label1, "")

        GUICtrlSetState($Pic1, $GUI_DISABLE)
        GUICtrlSetState($Pic2, $GUI_DISABLE)
        GUICtrlSetState($Pic3, $GUI_DISABLE)
        GUICtrlSetState($Pic4, $GUI_DISABLE)
        GUICtrlSetState($Pic5, $GUI_DISABLE)

        GUICtrlSetData($Hold1, "")
        GUICtrlSetData($Hold2, "")
        GUICtrlSetData($Hold3, "")
        GUICtrlSetData($Hold4, "")
        GUICtrlSetData($Hold5, "")

    ElseIf $Rnt = 3 Then

    EndIf

EndFunc   ;==>ckHolder
;-------------------------------------------------------------------------------
Func ChekForWin() ;Check for Win
    Local $tmpHand, $CardStr = ""

    _ArraySort($HandCard, 0, 1, 0, 3) ; array sort by card order
    ;_ArrayDisplay($HandCard, "ChekForWin")

    ;------------------------------------------------------------------------------------
    ; Flush

    For $i = 1 To $HandCard[0][0]
        $CardStr = $CardStr & $HandCard[$i][1]
    Next

    Select
        Case $CardStr = "CCCCC"
            $tmpHand = "Flush"
        Case $CardStr = "DDDDD"
            $tmpHand = "Flush"
        Case $CardStr = "HHHHH"
            $tmpHand = "Flush"
        Case $CardStr = "SSSSS"
            $tmpHand = "Flush"
    EndSelect

    ;------------------------------------------------------------------------------------
    $CardStr = ""
    For $i = 1 To $HandCard[0][0]
        $CardStr = $CardStr & $HandCard[$i][2]
    Next

    ConsoleWrite("ChekForWin ---------" & @CRLF)
    ConsoleWrite("$CardStr = " & $CardStr & @CRLF)
    ConsoleWrite("$tmpHand1 = " & $tmpHand & @CRLF)

    ;------------------------------------------------------------------------------------

    If $tmpHand = "Flush" Then
        Select
            Case StringInStr($CardStr, "10JQKA") > 0 And $tmpHand = "Flush"
                $tmpHand = "Royal Flush"
            Case StringInStr($CardStr, "910JQK") > 0 And $tmpHand = "Flush"
                $tmpHand = "Straight Flush"
            Case StringInStr($CardStr, "8910JQ") > 0 And $tmpHand = "Flush"
                $tmpHand = "Straight Flush"
            Case StringInStr($CardStr, "78910J") > 0 And $tmpHand = "Flush"
                $tmpHand = "Straight Flush"
            Case StringInStr($CardStr, "678910") > 0 And $tmpHand = "Flush"
                $tmpHand = "Straight Flush"
            Case StringInStr($CardStr, "56789") > 0 And $tmpHand = "Flush"
                $tmpHand = "Straight Flush"
            Case StringInStr($CardStr, "45678") > 0 And $tmpHand = "Flush"
                $tmpHand = "Straight Flush"
            Case StringInStr($CardStr, "34567") > 0 And $tmpHand = "Flush"
                $tmpHand = "Straight Flush"
            Case StringInStr($CardStr, "23456") > 0 And $tmpHand = "Flush"
                $tmpHand = "Straight Flush"
            Case Else
                $tmpHand = "Flush"
        EndSelect
    Else
        Select
            Case StringInStr($CardStr, "2222") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "3333") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "4444") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "5555") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "6666") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "7777") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "8888") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "9999") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "10101010") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "JJJJ") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "QQQQ") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "KKKK") > 0
                $tmpHand = "Four of kind"
            Case StringInStr($CardStr, "AAAA") > 0
                $tmpHand = "Four of kind"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "22333") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22444") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22555") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22666") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22777") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22888") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22999") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22101010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22JJJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22QQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22KKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22AAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "22233") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22244") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22255") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22266") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22277") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22288") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "22299") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "2221010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "222JJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "222QQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "222KK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "222AA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "33444") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33555") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33666") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33777") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33888") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33999") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33101010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33JJJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33QQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33KKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33AAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "33344") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33355") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33366") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33377") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33388") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "33399") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "3331010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "333JJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "333QQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "333KK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "333AA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------"
            Case StringInStr($CardStr, "44555") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44666") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44777") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44888") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44999") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44101010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44JJJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44QQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44KKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44AAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "44455") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44466") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44477") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44488") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "44499") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "4441010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "444JJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "444QQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "444KK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "444AA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "55666") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55777") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55888") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55999") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55101010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55JJJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55QQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55KKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55AAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "55566") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55577") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55588") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "55599") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "5551010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "555JJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "555QQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "555KK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "555AA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "66777") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "66888") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "66999") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "66101010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "66JJJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "66QQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "66KKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "66AAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "66677") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "66688") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "66699") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "6661010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "666JJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "666QQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "666KK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "666AA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "77888") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "77999") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "77101010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "77JJJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "77QQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "77KKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "77AAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "77788") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "77799") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "7771010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "777JJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "777QQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "777KK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "777AA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "88999") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "88101010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "88JJJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "88QQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "88KKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "88AAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "88899") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "8881010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "888JJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "888QQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "888KK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "888AA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "99101010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "99JJJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "99QQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "99KKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "99AAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "9991010") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "999JJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "999QQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "999KK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "999AA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "1010JJJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "1010QQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "1010KKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "1010AAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "101010JJ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "101010QQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "101010KK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "101010AA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "JJQQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "JJKKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "JJAAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "JJJQQ") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "JJJKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "JJJAA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "QQKKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "QQAAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "QQQKK") > 0
                $tmpHand = "Full house"
            Case StringInStr($CardStr, "QQQAA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "KKAAA") > 0
                $tmpHand = "Full house"

            Case StringInStr($CardStr, "KKKAA") > 0
                $tmpHand = "Full house"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "10JQKA") > 0
                $tmpHand = "Straight"
            Case StringInStr($CardStr, "910JQK") > 0
                $tmpHand = "Straight"
            Case StringInStr($CardStr, "8910JQ") > 0
                $tmpHand = "Straight"
            Case StringInStr($CardStr, "78910J") > 0
                $tmpHand = "Straight"
            Case StringInStr($CardStr, "678910") > 0
                $tmpHand = "Straight"
            Case StringInStr($CardStr, "56789") > 0
                $tmpHand = "Straight"
            Case StringInStr($CardStr, "45678") > 0
                $tmpHand = "Straight"
            Case StringInStr($CardStr, "34567") > 0
                $tmpHand = "Straight"
            Case StringInStr($CardStr, "23456") > 0
                $tmpHand = "Straight"
            Case StringInStr($CardStr, "A2345") > 0
                $tmpHand = "Straight"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "222") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "333") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "444") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "555") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "666") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "777") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "888") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "999") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "101010") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "JJJ") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "QQQ") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "KKK") > 0
                $tmpHand = "Three of kind"
            Case StringInStr($CardStr, "AAA") > 0
                $tmpHand = "Three of kind"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "33") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "44") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "55") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "66") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "77") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "88") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "99") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "1010") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "22") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "44") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "55") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "66") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "77") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "88") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "99") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "1010") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "33") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "55") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "66") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "77") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "88") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "99") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "1010") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "44") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "55") > 0 And StringInStr($CardStr, "66") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "55") > 0 And StringInStr($CardStr, "77") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "55") > 0 And StringInStr($CardStr, "88") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "55") > 0 And StringInStr($CardStr, "99") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "55") > 0 And StringInStr($CardStr, "1010") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "55") > 0 And StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "55") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "55") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "55") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "66") > 0 And StringInStr($CardStr, "77") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "66") > 0 And StringInStr($CardStr, "88") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "66") > 0 And StringInStr($CardStr, "99") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "66") > 0 And StringInStr($CardStr, "1010") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "66") > 0 And StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "66") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "66") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "66") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "77") > 0 And StringInStr($CardStr, "88") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "77") > 0 And StringInStr($CardStr, "99") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "77") > 0 And StringInStr($CardStr, "1010") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "77") > 0 And StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "77") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "77") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "77") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "88") > 0 And StringInStr($CardStr, "99") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "88") > 0 And StringInStr($CardStr, "1010") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "88") > 0 And StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "88") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "88") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "88") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "99") > 0 And StringInStr($CardStr, "1010") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "99") > 0 And StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "99") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "99") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "99") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "1010") > 0 And StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "1010") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "1010") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "1010") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "JJ") > 0 And StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "JJ") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "JJ") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "QQ") > 0 And StringInStr($CardStr, "KK") > 0
                $tmpHand = "Two pair"
            Case StringInStr($CardStr, "QQ") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "KK") > 0 And StringInStr($CardStr, "AA") > 0
                $tmpHand = "Two pair"
                ;------------------------------------------------------------------------------------
            Case StringInStr($CardStr, "22") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "33") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "44") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "55") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "66") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "77") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "88") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "99") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "1010") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "JJ") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "QQ") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "KK") > 0
                $tmpHand = "Pair"
            Case StringInStr($CardStr, "AA") > 0
                $tmpHand = "Pair"
                ;------------------------------------------------------------------------------------
        EndSelect
    EndIf

    ConsoleWrite("$tmpHand2 = " & $tmpHand & @CRLF)

    If $tmpHand = "" Then
        ;nothing to win
    Else
        TakeWin($tmpHand)
    EndIf

EndFunc   ;==>ChekForWin
;-------------------------------------------------------------------------------
Func TakeWin($Hand) ;amount to take
    Local $Msg
    Select    ;win $Hand
        Case $Hand = "Royal Flush"
            $WinAmount = 89
        Case $Hand = "Straight Flush"
            $WinAmount = 55
        Case $Hand = "Flush"
            $WinAmount = 34
        Case $Hand = "Four of kind"
            $WinAmount = 21
        Case $Hand = "Full house"
            $WinAmount = 13
        Case $Hand = "Straight"
            $WinAmount = 8
        Case $Hand = "Three of kind"
            $WinAmount = 5
        Case $Hand = "Two pair"
            $WinAmount = 3
        Case $Hand = "Pair"
            $WinAmount = 2
    EndSelect

    GUICtrlSetState($Button1, $GUI_DISABLE)

    GUICtrlSetFont($Label1, 24, 800, 0, "MS Sans Serif")
    GUICtrlSetData($Label1, $Hand)

    ; blink
    GUICtrlSetColor($Label1, 0xFF0000) ;red
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFFFFFF) ;White
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFF0000) ;red
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFFFFFF) ;White
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFF0000) ;red
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFFFFFF) ;White

    ConsoleWrite("TakeWin ------------" & @CRLF)
    BlackRed()


EndFunc   ;==>TakeWin
;-------------------------------------------------------------------------------
Func BlackRed() ;Black Red bet

    Local $Msg
    TurnCards()

    $Msg = "Win amount " & $WinAmount & ",  choose black - red to double it  or press take to take it"
    ;GUICtrlSetFont($Label1, 24, 800, 0, "MS Sans Serif")
    GUICtrlSetFont($Label1, 12, 800, 0, "MS Sans Serif")
    GUICtrlSetData($Label1, $Msg)

    $GameMode = "Black-Red"
    GUICtrlSetData($Button1, "TAKE")
    GUISetBkColor($COLOR_PURPLE) ; will change background color

    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)

    ;GUICtrlSetState($Button1, $GUI_ENABLE)

    ConsoleWrite("Win amount = " & $WinAmount & @CRLF)

EndFunc   ;==>BlackRed
;-------------------------------------------------------------------------------
Func CardColor($crdColor) ; check Black Red bet
    Local $Par1, $Par2
    If $crdColor = "Red" Then
        $Par1 = "D"
        $Par2 = "H"
    Else
        $Par1 = "C"
        $Par2 = "S"
    EndIf

    Local $X = $Cnt, $CardColor
    $Cnt += 1
    GUICtrlSetImage($Pic3, @ScriptDir & "\card\" & $aCard[$X][0] & ".jpg")

    Sleep(1000)

    $CardColor = $aCard[$X][1]

    If $CardColor = $Par1 Or $CardColor = $Par2 Then ;win
        $WinAmount = $WinAmount + $WinAmount
        BlackRed()
    Else
        $WinAmount = 0
        ConsoleWrite("Win amount = " & 0 & @CRLF)
        TurnCards()
        GUICtrlSetState($Button2, $GUI_HIDE)
        GUICtrlSetState($Button3, $GUI_HIDE)
        GUICtrlSetFont($Label1, 24, 800, 0, "MS Sans Serif")
        GUICtrlSetData($Label1, "")
        GUICtrlSetData($Label2, $Score)
        $GameMode = "Play"
        GUICtrlSetData($Button1, "DEAL")
        GUISetBkColor($COLOR_TEAL)

    EndIf
EndFunc   ;==>CardColor
;-------------------------------------------------------------------------------

Please, leave your comments and experiences here

Thank you !

card_deck.zip

Edited by ioa747
Link to post
Share on other sites

Thanks for sharing this. Nice work, only Problem: 1 played ~ 5 hours and after ending i didn't get my won money 4578$ - the 100 credit.

 

I used your card-deck for a little script. The player must remember a card, and after each run tell in which column the remebered card is now.

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\..\..\..\IconViewer\Icons\pifmgr_23.ico
#AutoIt3Wrapper_Outfile_x64=..\..\Desktop\MagicCards.Exe
#AutoIt3Wrapper_Res_Fileversion=1.0.3.1
#AutoIt3Wrapper_Res_ProductVersion=1.03
#AutoIt3Wrapper_Res_LegalCopyright=autoBert
#AutoIt3Wrapper_Res_Language=1031
#AutoIt3Wrapper_AU3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6
#AutoIt3Wrapper_Run_Tidy=y
#Tidy_Parameters=/gd
#AutoIt3Wrapper_Run_Au3Stripper=y
#Au3Stripper_Parameters=/mo /rsln
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;compstui.dll
;noch auf Updaten der Labels umstellen

#include <ComboConstants.au3>
#include <StaticConstants.au3>
#include <ColorConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <Array.au3>
#include <ScreenCapture.au3>

Global $iDelay = 150, $iRound = 0, $sCards, $iCard, $sInCol, $iMsg
Global $sCardsFP = @ScriptDir & '\Card\'
;Kartensatz generieren
Global $aCards[32][5], $aCardsSave[32][5], $iCards = 0
Global $aColors = ['Diamond', 'Heart', 'spade', 'Clubs']
Global $aWerte = ['7', '8', '9', '10', 'Jack', 'Queen', 'King', 'Ace']

Global $sTitel = 'Magic Cards', $iWidth = 415, $iHeight = @DesktopHeight - 60
Global $sJpgPath = @AppDataDir & '\' & $sTitel
If Not FileExists($sJpgPath) Then DirCreate($sJpgPath)
;ShellExecute($sJpgPath)
Global $hTable = GUICreate($sTitel, $iWidth, $iHeight)  ; , BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
Global $idCboInCol = GUICtrlCreateCombo('Linke', 0, 2, 140, $CBS_SIMPLE)
Global $idBtnRound = GUICtrlCreateButton(' &Start', 145, 2, 60, 26)
;GUICtrlSetBkColor(-1, $COLOR_LIGHTGRAY)
GUICtrlSetColor(-1, $COLOR_RED)
GUICtrlSetData($idCboInCol, 'Mittlere|Rechte', 'Linke')
GUISetState()
;#cs
_CardsShuffle()
$iRound = -1
For $jRows = 0 To 6
    For $iCols = 0 To 2
        _ShowCard($iCard, $iCols * 135 + 5, $jRows * 95 + 30, $iCols)
        $aCards[$iCard][2] = $jRows
        GUICtrlSetState(-1, 160)         ;(hiden & disabled)
        $iCard = $iCard + 1
    Next
Next
;_ArrayDisplay($aCards)
;#ce

;erzeugt eine GUI
GUISetBkColor($COLOR_GRAY)
;GUISetIcon("C:\Users\(len)Bert\Pictures\Icons\pifmgr_23.ico", $hTable)
GUISetIcon(@SystemDir & '\pifmgr.dll', -24)
GUICtrlSetState($idBtnRound, BitOR($GUI_ENABLE, $gui_show))
GUISetState()

Global $msg
While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $idBtnRound
            ConsoleWrite(@ScriptLineNumber & @TAB & 'Runde: ' & $iRound & @CRLF)
            If $iRound = -1 Then
                $iRound = $iRound + 1
                _PlaceCarts()
            Else
                $sInCol = GUICtrlRead($idCboInCol)
                If $iRound > 0 Then _SortForCols($sInCol)
            EndIf
            ;_ArrayDisplay($aCards, $iRound)
            GUICtrlSetColor($idBtnRound, $COLOR_Black)
            $iRound = $iRound + 1
            _PlaceCarts()
            ;ConsoleWrite($sJpgPath & '\mm' & $iRound & '.jpg' & @CRLF)
            GUICtrlSetData($idBtnRound, 'Runde ' & $iRound)
            ;ConsoleWrite($iRound & 'Gegeben' & @CRLF)
            WinSetTitle($hTable, '', $sTitel & ' ' & $hTable & ' ' & @HOUR & ':' & @MIN & ':' & @SEC & ':' & @MSEC) 
            Sleep(500)
            _ScreenCapture_CaptureWnd($sJpgPath & '\mm' & $iRound & '.jpg', $hTable)
            WinSetTitle($hTable, '', $sTitel)
            ControlFocus($hTable, '', $idCboInCol)
            ;#cs
            If $iRound = 4 Then
                GUICtrlSetState($idCboInCol, $GUI_DISABLE)
                GUICtrlSetData($idCboInCol, 'Mittlere')
                _SortForCols('Mittlere')
                _ShowCard(10, 140, 315, 1)
                GUICtrlSetData($idBtnRound, 'Lösung ')
                GUICtrlSetBkColor($aCards[10][0], $COLOR_FIREBRICK)
                ;           ;_ArrayDisplay($aCards)
                Sleep(5000)
                ;GUISetState(@SW_SHOWNORMAL , $hTable)
                ConsoleWrite(@ScriptLineNumber & @TAB & 'nochmal? ' & $iRound & @CRLF)

                $iMsg = $IDretry
                If MsgBox($MB_YESNO + $MB_ICONQUESTION, 'Lösungskarte war: ' & $aCards[10][4], 'Noch einmal?', 15, $hTable) = $idyes Then Exit ShellExecute(@DesktopDir & '\MagicCards.Exe')
                Exit

            EndIf

        Case $idCboInCol
            ;GUICtrlSetState($idCboInCol, $GUI_DISABLE)
            GUICtrlSetState($idBtnRound, $GUI_ENABLE)
    EndSwitch
WEnd

Func _SortForCols($sCol)
    ;ConsoleWrite('===========================' & $sCol & '===========================' & @CRLF)
    ;_ArrayDisplay($aCards)
    Local $aFound, $iCard = $aCards[0][0], $acardsNew[32][5]
    Local $sCols ;$iCols,
    Switch $sCol
        Case 'Linke'
            $sCols = 'Mittlere|Linke|Rechte'
        Case 'Rechte'
            $sCols = 'Linke|Rechte|Mittlere'
        Case 'Mittlere'
            $sCols = 'Linke|Mittlere|Rechte'
    EndSwitch
    Local $aCardsCols = StringSplit($sCols, '|', 3)
    ;ConsoleWrite($sCols & @CRLF)
    $aFound = _ArrayFindAll($aCards, $aCardsCols[0], 0, 0, 0, 0, 3)
    ;_ArrayDisplay($aFound)
    For $i = 0 To UBound($aFound) - 1
        ;For $iCols = 1 To 4
        $acardsNew[$i][1] = $aCards[$aFound[$i]][1]
        ;Next
        $acardsNew[$i][0] = $iCard
        ;GUICtrlSetState($iCard, 160)     ;(hidden & disabled)
    Next
    $aFound = _ArrayFindAll($aCards, $aCardsCols[1], 0, 0, 0, 0, 3)
    ;   ;_ArrayDisplay($aFound)
    For $i = 0 To UBound($aFound) - 1
        ;For $iCols = 1 To 4
        $acardsNew[$i + 7][1] = $aCards[$aFound[$i]][1]
        ;Next
        $acardsNew[$i][0] = $iCard
        ;GUICtrlSetState($iCard, 160)     ;(hidden & disabled)
    Next
    $aFound = _ArrayFindAll($aCards, $aCardsCols[2], 0, 0, 0, 0, 3)
    ;   ;_ArrayDisplay($aFound)
    For $i = 0 To UBound($aFound) - 1
        ;For $iCols = 1 To 4
        $acardsNew[$i + 14][1] = $aCards[$aFound[$i]][1]
        ;Next
        $acardsNew[$i][0] = $iCard
        ;GUICtrlSetState($iCard, 160)     ;(hidden & disabled)
    Next
    For $i = 0 To 20
        $acardsNew[$i][0] = 0
        $acardsNew[$i][2] = $aCards[$i][2]
        $acardsNew[$i][3] = $aCards[$i][3]
        $acardsNew[$i][4] = StringReplace($aCards[$i][1], '_', ' ')
    Next
    $aCards = $acardsNew
    ;_ArrayDisplay($acards, 'Picked Up' & $iRound)
EndFunc   ;==>_SortForCols

Func _PlaceCarts()
    ConsoleWrite($iRound & @CRLF)
    Local $jRows, $iCols, $iCard
    If $iRound > 0 Then
        For $i = 0 To 20
            GUICtrlDelete($aCards[$i][0])
        Next
    EndIf
    For $jRows = 0 To 6
        For $iCols = 0 To 2
            _ShowCard($iCard, $iCols * 135 + 5, $jRows * 95 + 30, $iCols)
            If $iRound > 0 Then Sleep($iDelay)
            $iCard = $iCard + 1
        Next
    Next
EndFunc   ;==>_PlaceCarts

Func _ShowCard($iNr, $x, $y, $iCol)
    ;   Local $aColors = [$COLOR_DARKORANGE, $COLOR_RED, $COLOR_Green, $COLOR_Black]
    Local $aCols = ['Linke', 'Mittlere', 'Rechte'], $iErr
    Switch $iRound
        Case -1, 1, 2, 3, 4
            $aCards[$iNr][0] = GUICtrlCreatePic($sCardsFP & $aCards[$iNr][1], $x, $y, 131, 190)
            GUICtrlSetState($aCards[$iNr][0], 80)     ;(show & enabled)
        Case 0
            $aCards[$iNr][0] = GUICtrlCreatePic($sCardsFP & $aCards[$iNr][1], $x, $y, 131, 190)
            GUICtrlSetState($aCards[$iNr][0], 80)     ;(show & enabled)
        Case Else
    EndSwitch
    ;$sCardsFP & $aCardsSave[$iNr][1] & '|' &
    If $iErr Then ConsoleWrite($sCardsFP & $aCards[$iNr][1] & '|' & $aCards[$iNr][0] & @TAB & ' Pos: ' & $x & '|' & $y & @TAB & 'Error: ' & $iErr & @CRLF)
    $aCards[$iNr][3] = $aCols[$iCol]
EndFunc   ;==>_ShowCard

Func _CardsShuffle()
    ;_ArrayDisplay($aColors)
    For $iColors = 0 To 3
        For $jWerte = 0 To 7
            $iCards = $iColors * 8 + $jWerte
            ;$aCards[$iCards][0] = $iCards
            $aCards[$iCards][1] = $aColors[$iColors] & '_' & $aWerte[$jWerte] & '.jpg'
            $aCards[$iCards][2] = $iColors
            $aCards[$iCards][4] = $aColors[$iColors] & ' ' & $aWerte[$jWerte]
            ;MsgBox(64,'',$iCards & ': ' & $aCards[$iCards][1]); & @CRLF)
            ;ConsoleWrite($iCards & ': ' & $aCards[$iCards][1] & @CRLF)
        Next
    Next
    _ArrayShuffle($aCards, 0, 0)
    ConsoleWrite(@ScriptLineNumber & 'Gemischt' & @CRLF)
EndFunc   ;==>_CardsShuffle

My uncle played it with me over 60 years ago.

The script runs, but i must polish the code.

Edited by AutoBert
added code for documentation (.JPG)
Link to post
Share on other sites
  • ioa747 changed the title to poker game (The first steps of using arrays)
2 hours ago, AutoBert said:

after ending i didn't get my won money 4578$ - the 100 credit

when you get it, don't forget me, I want a cut too!  :)

 I'm glad you like it and have fun with this.

for me it was a challenge, how to  catch all the winning hands combination

 

Τhank you for responding !

P.S.  in your game I didn't understand how to choose which card you will remember

Link to post
Share on other sites
8 hours ago, ioa747 said:

in your game I didn't understand how to choose which card you will remember

Oh, i see i must integrate advisories for the user.

Spoiler

It isn't a real game it's a "magic" card trick. 3 rounds with correct user input the rememberd card is always on place 11, in the mid of row from the middle column.   

 

Link to post
Share on other sites

Never played poker so don't know the rules of this game 
just for fun try to trim ChekForWin() code
@ioa747 as it your code you can tell if my modified code work or not.

Func ChekForWin() ;Check for Win
    Local $tmpHand = "", $CardStr = ""

    _ArraySort($HandCard, 0, 1, 0, 3) ; array sort by card order
    ;_ArrayDisplay($HandCard, "ChekForWin")

    ;------------------------------------------------------------------------------------
    ; Flush
    For $i = 1 To $HandCard[0][0]
        $CardStr = $CardStr & $HandCard[$i][1]
    Next

    If StringRegExp($CardStr, 'CCCCC|DDDDD|HHHHH|SSSSS', 0) Then $tmpHand = "Flush"
    ;------------------------------------------------------------------------------------
    $CardStr = ""
    For $i = 1 To $HandCard[0][0]
        $CardStr = $CardStr & $HandCard[$i][2]
    Next

    ConsoleWrite("ChekForWin ---------" & @CRLF)
    ConsoleWrite("$CardStr = " & $CardStr & @CRLF)
    ConsoleWrite("$tmpHand1 = " & $tmpHand & @CRLF)
    ;------------------------------------------------------------------------------------
    ; '910JQK' (Straight Flush)| '10JQKA' (Royal Flush)
    ; 'A2345' (Straight)| '24556' (pair)| '25556' (Three of kind)| '25555' (Four of kind)| '556QQ' (Two pair)| '66777' (Full house)
    Local $o_Card = '2345678910JQKA'
    Local $o_Pattern = StringRegExp($CardStr, "([2-9AJQK]|10)\1+", 3)

    Local $CountPoint = 0
    If $tmpHand = "Flush" Then
        $CountPoint = StringInStr($o_Card, $CardStr)
        If $CountPoint <> 0  Then $tmpHand = (($CountPoint = 9) ? 'Royal Flush' : 'Straight Flush')
    Else
        If UBound($o_Pattern) = 0 Then
            $o_Card = 'A' & $o_Card
            If StringInStr($o_Card, $CardStr) Then $tmpHand = 'Straight'
        Else
            For $i = 0 To UBound($o_Pattern) - 1
                StringReplace($CardStr, $o_Pattern[$i], '')
                $CountPoint += @Extended
            Next
            If $CountPoint = 2  Then $tmpHand = 'pair'
            If $CountPoint = 3  Then $tmpHand = 'Three of kind'
            If ($CountPoint = 4) Then $tmpHand = ((UBound($o_Pattern) = 1) ? 'Four of kind' : 'Two pair')
            If $CountPoint = 5  Then $tmpHand = 'Full house'
        Endif
    EndIf
    ConsoleWrite("$tmpHand2 = " & $tmpHand & @CRLF)
    ;------------------------------------------------------------------------------------

    If $tmpHand = "" Then
        ;nothing to win
    Else
        TakeWin($tmpHand)
    EndIf
EndFunc   ;==>ChekForWin

 

Link to post
Share on other sites

@ioa747 Converting your 680 line ChekForWin() code to 56 line code was fun.

I asked to check my modified code working or not.

10 hours ago, jugador said:

@ioa747 as it your code you can tell if my modified code work or not.

but (look like) you instantly replied something I didn't understand.  :bye:

Link to post
Share on other sites

 

I tried the script you posted and it didn't work. I had to look it up in something I did 10 years ago (in the 1200 lines).

that's why I told you it's difficult

I am glad you made it in the end.
why didn't you post your script too?

(from me you've got the right) :)

Edited by ioa747
Link to post
Share on other sites

ok I download your code and try with my ChekForWin() code.
look to me it's working.

 

2 hours ago, ioa747 said:

I tried the script you posted and it didn't work.

@ioa747 would you mind telling why it's not working

which pattern it failed to recognize....
(Straight Flush)|(Royal Flush)| (Straight)|(pair)|(Three of kind)|(Four of kind)|(Two pair)|(Full house)

Link to post
Share on other sites
2 hours ago, jugador said:

@ioa747 would you mind telling why it's not working

:oops: I owe you an apology
I didn't understand what exactly you did, I downloaded it, I ran it and as it was natural, it gave me an error because it couldn't find the variables.
Now that I saw it better I understood that I had to put it in the program, and replace the function,

and yes it works !!

(I didn't check if it catches all the cases)
amazing job well done and sorry again

Link to post
Share on other sites

shorter version thanks to @jugador

; https://www.autoitscript.com/forum/topic/209569-poker-game-the-first-steps-of-using-arrays/?do=findComment&comment=1512307

#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=poker.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ColorConstants.au3>
#include <Array.au3>

Opt("MustDeclareVars", 1) ;0=no, 1=require pre-declaration
#Region === GUI ===
Local $Form1_1 = GUICreate("Poker", 769, 382, 374, 395)
GUISetBkColor($COLOR_TEAL)
GUISetIcon(@ScriptDir & "\spade.ico")

Local $Pic1 = GUICtrlCreatePic("", 20, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $Pic2 = GUICtrlCreatePic("", 170, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $Pic3 = GUICtrlCreatePic("", 320, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $Pic4 = GUICtrlCreatePic("", 470, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)
Local $Pic5 = GUICtrlCreatePic("", 620, 60, 130, 190)
GUICtrlSetState(-1, $GUI_DISABLE)

Local $Hold1 = GUICtrlCreateLabel("", 20, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow
Local $Hold2 = GUICtrlCreateLabel("", 170, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow
Local $Hold3 = GUICtrlCreateLabel("", 320, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow
Local $Hold4 = GUICtrlCreateLabel("", 470, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow
Local $Hold5 = GUICtrlCreateLabel("", 620, 250, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow

Local $Label1 = GUICtrlCreateLabel("", 20, 10, 587, 41, $SS_CENTER)
GUICtrlSetFont(-1, 24, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF) ;White

Local $Label2 = GUICtrlCreateLabel("", 620, 10, 130, 33, $SS_CENTER)
GUICtrlSetFont(-1, 17, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFF00) ;Yellow

Local $Button1 = GUICtrlCreateButton("START", 20, 320, 735, 35)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
;GUICtrlSetColor(-1, 0x000000)

Local $Button2 = GUICtrlCreateButton("RED", 290, 280, 100, 35)
GUICtrlSetState(-1, $GUI_HIDE)
Local $Button3 = GUICtrlCreateButton("BLACK", 400, 280, 100, 35)
GUICtrlSetState(-1, $GUI_HIDE)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
#Region === make the card ===
;clubs diamonds hearts spades
Local $aColor = ["clubs", "heart", "diamond", "spade"]
Local $shColor = ["C", "H", "D", "S"]
Local $k, $nMsg, $Str
Local $at = ["2", "3", "4", "5", "6", "7", "8", "9", "10", "jack", "queen", "king", "ace"]
Local $Oat = ["102", "103", "104", "105", "106", "107", "108", "109", "110", "111", "112", "113", "114"]
Local $aCard[53][4]
$aCard[0][0] = 52

$k = 1
For $C = 0 To UBound($aColor) - 1
    For $j = 0 To UBound($at) - 1
        $aCard[$k][0] = $aColor[$C] & "_" & $at[$j] ; card full name
        $aCard[$k][1] = $shColor[$C]                ; suit
        $aCard[$k][2] = $at[$j]                     ; card
        $aCard[$k][3] = $Oat[$j]                    ; order
        $k += 1
    Next
Next

ReplaceInArray($aCard, "jack", "J", 2)
ReplaceInArray($aCard, "queen", "Q", 2)
ReplaceInArray($aCard, "king", "K", 2)
ReplaceInArray($aCard, "ace", "A", 2)

$aColor = 0
$shColor = 0
$at = 0
$Oat = 0
;_ArrayDisplay($aCard)
_ArrayShuffle($aCard, 1)
#EndRegion === make the card ===
Local $Rnt = 1, $Cnt = 1, $Score = 100, $GameMode = "Play", $WinAmount
Local $HandCard[6][4]
$HandCard[0][0] = 5
;*******************************************************************************
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Pic1
            If GUICtrlRead($Hold1) = "" Then
                GUICtrlSetData($Hold1, "Hold")
            Else
                GUICtrlSetData($Hold1, "")
            EndIf
        Case $Pic2
            If GUICtrlRead($Hold2) = "" Then
                GUICtrlSetData($Hold2, "Hold")
            Else
                GUICtrlSetData($Hold2, "")
            EndIf
        Case $Pic3
            If GUICtrlRead($Hold3) = "" Then
                GUICtrlSetData($Hold3, "Hold")
            Else
                GUICtrlSetData($Hold3, "")
            EndIf
        Case $Pic4
            If GUICtrlRead($Hold4) = "" Then
                GUICtrlSetData($Hold4, "Hold")
            Else
                GUICtrlSetData($Hold4, "")
            EndIf
        Case $Pic5
            If GUICtrlRead($Hold5) = "" Then
                GUICtrlSetData($Hold5, "Hold")
            Else
                GUICtrlSetData($Hold5, "")
            EndIf
            ;-------------------
        Case $Hold1

        Case $Button1  ;deal
            Button1()

        Case $Button2  ;red
            Button2()

        Case $Button3  ;black
            Button3()

    EndSwitch
WEnd
;********************************************************************************

;-------------------------------------------------------------------------------
Func Button1() ; deal , take
    Select
        Case $GameMode = "Play" ; then deal
            Deal()
        Case $GameMode = "Black-Red" ; then take
            $Score = $Score + $WinAmount
            GUICtrlSetState($Button2, $GUI_HIDE)
            GUICtrlSetState($Button3, $GUI_HIDE)
            GUICtrlSetFont($Label1, 24, 800, 0, "MS Sans Serif")
            GUICtrlSetData($Label1, "")
            GUICtrlSetData($Label2, $Score)
            GUICtrlSetFont($Label2, 24, 800, 0, "MS Sans Serif")
            Sleep(500)
            GUICtrlSetFont($Label2, 17, 800, 0, "MS Sans Serif")
            ;GUICtrlSetFont($Label2, 17, 800, 0, "MS Sans Serif")
            ;GUICtrlSetColor($Label2, 0xFFFF00) ;Yellow

            $GameMode = "Play"
            GUICtrlSetData($Button1, "DEAL")
            GUISetBkColor($COLOR_TEAL)

    EndSelect

EndFunc   ;==>Button1
;-------------------------------------------------------------------------------
Func Button2() ;red
    CardColor("Red")
EndFunc   ;==>Button2
;-------------------------------------------------------------------------------
Func Button3() ;black
    CardColor("Black")
EndFunc   ;==>Button3
;-------------------------------------------------------------------------------
Func ReplaceInArray(ByRef $Array, $oStr, $nStr, $Col)
    For $i = 0 To UBound($Array) - 1
        If $Array[$i][$Col] = $oStr Then
            $Array[$i][$Col] = $nStr
            ;ConsoleWrite ($oStr & " in " & $i & " to " & $nStr & @CRLF)
        EndIf
    Next
    ;ToConsole($Array, $Col)
EndFunc   ;==>ReplaceInArray
;-------------------------------------------------------------------------------
Func ToConsole($Array, $Col) ;write array to console
    For $i = 0 To UBound($Array) - 1
        ConsoleWrite($Array[$i][$Col] & "  ")
    Next
    ConsoleWrite(@CRLF)

EndFunc   ;==>ToConsole
;-------------------------------------------------------------------------------
Func TurnCards() ;TurnCards
    GUICtrlSetImage($Pic1, @ScriptDir & "\card\back04.jpg")
    GUICtrlSetImage($Pic2, @ScriptDir & "\card\back04.jpg")
    GUICtrlSetImage($Pic3, @ScriptDir & "\card\back04.jpg")
    GUICtrlSetImage($Pic4, @ScriptDir & "\card\back04.jpg")
    GUICtrlSetImage($Pic5, @ScriptDir & "\card\back04.jpg")
EndFunc   ;==>TurnCards
;-------------------------------------------------------------------------------
Func Deal() ;Deal the Cards
    Local $C, $R
    If $Rnt = 1 Then
        TurnCards()
        Sleep(300)
        _ArrayShuffle($aCard, 1)
        ckHolder()

        $Score = $Score - 1
        GUICtrlSetData($Label2, $Score)

        GUICtrlSetImage($Pic1, @ScriptDir & "\card\" & $aCard[1][0] & ".jpg")
        GUICtrlSetImage($Pic2, @ScriptDir & "\card\" & $aCard[2][0] & ".jpg")
        GUICtrlSetImage($Pic3, @ScriptDir & "\card\" & $aCard[3][0] & ".jpg")
        GUICtrlSetImage($Pic4, @ScriptDir & "\card\" & $aCard[4][0] & ".jpg")
        GUICtrlSetImage($Pic5, @ScriptDir & "\card\" & $aCard[5][0] & ".jpg")

        For $C = 0 To 3
            For $R = 1 To 5
                $HandCard[$R][$C] = $aCard[$R][$C]
            Next
        Next
        ;_ArrayDisplay($HandCard, "Deal")
        ToConsole($HandCard, 2)

        $Rnt = 2
        $Cnt = 6
    Else

        If GUICtrlRead($Hold1) = "" Then
            GUICtrlSetImage($Pic1, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[1][0] = $aCard[$Cnt][0]
            $HandCard[1][1] = $aCard[$Cnt][1]
            $HandCard[1][2] = $aCard[$Cnt][2]
            $HandCard[1][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf
        If GUICtrlRead($Hold2) = "" Then
            GUICtrlSetImage($Pic2, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[2][0] = $aCard[$Cnt][0]
            $HandCard[2][1] = $aCard[$Cnt][1]
            $HandCard[2][2] = $aCard[$Cnt][2]
            $HandCard[2][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf
        If GUICtrlRead($Hold3) = "" Then
            GUICtrlSetImage($Pic3, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[3][0] = $aCard[$Cnt][0]
            $HandCard[3][1] = $aCard[$Cnt][1]
            $HandCard[3][2] = $aCard[$Cnt][2]
            $HandCard[3][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf
        If GUICtrlRead($Hold4) = "" Then
            GUICtrlSetImage($Pic4, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[4][0] = $aCard[$Cnt][0]
            $HandCard[4][1] = $aCard[$Cnt][1]
            $HandCard[4][2] = $aCard[$Cnt][2]
            $HandCard[4][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf
        If GUICtrlRead($Hold5) = "" Then
            GUICtrlSetImage($Pic5, @ScriptDir & "\card\" & $aCard[$Cnt][0] & ".jpg")
            $HandCard[5][0] = $aCard[$Cnt][0]
            $HandCard[5][1] = $aCard[$Cnt][1]
            $HandCard[5][2] = $aCard[$Cnt][2]
            $HandCard[5][3] = $aCard[$Cnt][3]
            $Cnt += 1
        EndIf

        ckHolder()
        ToConsole($HandCard, 2)
        ChekForWin()
        $Rnt = 1
    EndIf

EndFunc   ;==>Deal
;-------------------------------------------------------------------------------
Func ckHolder() ;Check the Holders
    If GUICtrlRead($Label2) = "" Then GUICtrlSetData($Label2, $Score)

    If $Rnt = 1 Then
        ConsoleWrite("********************" & @CRLF)
        ConsoleWrite($Rnt & " Round ------------" & @CRLF)
        GUICtrlSetData($Button1, "OK")
        GUICtrlSetFont($Label1, 18, 800, 0, "MS Sans Serif")
        GUICtrlSetData($Label1, "hold your cards")

        GUICtrlSetState($Pic1, $GUI_ENABLE)
        GUICtrlSetState($Pic2, $GUI_ENABLE)
        GUICtrlSetState($Pic3, $GUI_ENABLE)
        GUICtrlSetState($Pic4, $GUI_ENABLE)
        GUICtrlSetState($Pic5, $GUI_ENABLE)

        GUICtrlSetData($Hold1, "")
        GUICtrlSetData($Hold2, "")
        GUICtrlSetData($Hold3, "")
        GUICtrlSetData($Hold4, "")
        GUICtrlSetData($Hold5, "")
    ElseIf $Rnt = 2 Then
        ConsoleWrite($Rnt & " Round ------------" & @CRLF)
        GUICtrlSetData($Button1, "DEAL")
        ;GUICtrlSetFont($Label1, 12, 800, 0, "MS Sans Serif")
        GUICtrlSetData($Label1, "")

        GUICtrlSetState($Pic1, $GUI_DISABLE)
        GUICtrlSetState($Pic2, $GUI_DISABLE)
        GUICtrlSetState($Pic3, $GUI_DISABLE)
        GUICtrlSetState($Pic4, $GUI_DISABLE)
        GUICtrlSetState($Pic5, $GUI_DISABLE)

        GUICtrlSetData($Hold1, "")
        GUICtrlSetData($Hold2, "")
        GUICtrlSetData($Hold3, "")
        GUICtrlSetData($Hold4, "")
        GUICtrlSetData($Hold5, "")

    ElseIf $Rnt = 3 Then

    EndIf

EndFunc   ;==>ckHolder
;-------------------------------------------------------------------------------
Func TakeWin($Hand) ;amount to take
    Local $Msg
    Select    ;win $Hand
        Case $Hand = "Royal Flush"
            $WinAmount = 89
        Case $Hand = "Straight Flush"
            $WinAmount = 55
        Case $Hand = "Flush"
            $WinAmount = 34
        Case $Hand = "Four of kind"
            $WinAmount = 21
        Case $Hand = "Full house"
            $WinAmount = 13
        Case $Hand = "Straight"
            $WinAmount = 8
        Case $Hand = "Three of kind"
            $WinAmount = 5
        Case $Hand = "Two pair"
            $WinAmount = 3
        Case $Hand = "Pair"
            $WinAmount = 2
    EndSelect

    GUICtrlSetState($Button1, $GUI_DISABLE)

    GUICtrlSetFont($Label1, 24, 800, 0, "MS Sans Serif")
    GUICtrlSetData($Label1, $Hand)

    ; blink
    GUICtrlSetColor($Label1, 0xFF0000) ;red
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFFFFFF) ;White
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFF0000) ;red
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFFFFFF) ;White
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFF0000) ;red
    Sleep(300)
    GUICtrlSetColor($Label1, 0xFFFFFF) ;White

    ConsoleWrite("TakeWin ------------" & @CRLF)
    BlackRed()


EndFunc   ;==>TakeWin
;-------------------------------------------------------------------------------
Func BlackRed() ;Black Red bet

    Local $Msg
    TurnCards()

    $Msg = "Win amount " & $WinAmount & ",  choose black - red to double it  or press take to take it"
    ;GUICtrlSetFont($Label1, 24, 800, 0, "MS Sans Serif")
    GUICtrlSetFont($Label1, 12, 800, 0, "MS Sans Serif")
    GUICtrlSetData($Label1, $Msg)

    $GameMode = "Black-Red"
    GUICtrlSetData($Button1, "TAKE")
    GUISetBkColor($COLOR_PURPLE) ; will change background color

    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetState($Button2, $GUI_SHOW)
    GUICtrlSetState($Button3, $GUI_SHOW)

    ;GUICtrlSetState($Button1, $GUI_ENABLE)

    ConsoleWrite("Win amount = " & $WinAmount & @CRLF)

EndFunc   ;==>BlackRed
;-------------------------------------------------------------------------------
Func CardColor($crdColor) ; check Black Red bet
    Local $Par1, $Par2
    If $crdColor = "Red" Then
        $Par1 = "D"
        $Par2 = "H"
    Else
        $Par1 = "C"
        $Par2 = "S"
    EndIf

    Local $X = $Cnt, $CardColor
    $Cnt += 1
    GUICtrlSetImage($Pic3, @ScriptDir & "\card\" & $aCard[$X][0] & ".jpg")

    Sleep(1000)

    $CardColor = $aCard[$X][1]

    If $CardColor = $Par1 Or $CardColor = $Par2 Then ;win
        $WinAmount = $WinAmount + $WinAmount
        BlackRed()
    Else
        $WinAmount = 0
        ConsoleWrite("Win amount = " & 0 & @CRLF)
        TurnCards()
        GUICtrlSetState($Button2, $GUI_HIDE)
        GUICtrlSetState($Button3, $GUI_HIDE)
        GUICtrlSetFont($Label1, 24, 800, 0, "MS Sans Serif")
        GUICtrlSetData($Label1, "")
        GUICtrlSetData($Label2, $Score)
        $GameMode = "Play"
        GUICtrlSetData($Button1, "DEAL")
        GUISetBkColor($COLOR_TEAL)

    EndIf
EndFunc   ;==>CardColor
;-------------------------------------------------------------------------------
Func ChekForWin() ;Check for Win
    Local $tmpHand = "", $CardStr = ""

    _ArraySort($HandCard, 0, 1, 0, 3) ; array sort by card order
    ;_ArrayDisplay($HandCard, "ChekForWin")

    ;------------------------------------------------------------------------------------
    ; Flush
    For $i = 1 To $HandCard[0][0]
        $CardStr = $CardStr & $HandCard[$i][1]
    Next

    If StringRegExp($CardStr, 'CCCCC|DDDDD|HHHHH|SSSSS', 0) Then $tmpHand = "Flush"
    ;------------------------------------------------------------------------------------
    $CardStr = ""
    For $i = 1 To $HandCard[0][0]
        $CardStr = $CardStr & $HandCard[$i][2]
    Next

    ConsoleWrite("ChekForWin ---------" & @CRLF)
    ConsoleWrite("$CardStr = " & $CardStr & @CRLF)
    ConsoleWrite("$tmpHand1 = " & $tmpHand & @CRLF)
    ;------------------------------------------------------------------------------------
    ; '910JQK' (Straight Flush)| '10JQKA' (Royal Flush)
    ; 'A2345' (Straight)| '24556' (pair)| '25556' (Three of kind)| '25555' (Four of kind)| '556QQ' (Two pair)| '66777' (Full house)
    Local $o_Card = '2345678910JQKA'
    Local $o_Pattern = StringRegExp($CardStr, "([2-9AJQK]|10)\1+", 3)

    Local $CountPoint = 0
    If $tmpHand = "Flush" Then
        $CountPoint = StringInStr($o_Card, $CardStr)
        If $CountPoint <> 0 Then $tmpHand = (($CountPoint = 9) ? 'Royal Flush' : 'Straight Flush')
    Else
        If UBound($o_Pattern) = 0 Then
            $o_Card = 'A' & $o_Card
            If StringInStr($o_Card, $CardStr) Then $tmpHand = 'Straight'
        Else
            For $i = 0 To UBound($o_Pattern) - 1
                StringReplace($CardStr, $o_Pattern[$i], '')
                $CountPoint += @extended
            Next
            If $CountPoint = 2 Then $tmpHand = 'pair'
            If $CountPoint = 3 Then $tmpHand = 'Three of kind'
            If ($CountPoint = 4) Then $tmpHand = ((UBound($o_Pattern) = 1) ? 'Four of kind' : 'Two pair')
            If $CountPoint = 5 Then $tmpHand = 'Full house'
        EndIf
    EndIf
    ConsoleWrite("$tmpHand2 = " & $tmpHand & @CRLF)
    ;------------------------------------------------------------------------------------

    If $tmpHand = "" Then
        ;nothing to win
    Else
        TakeWin($tmpHand)
    EndIf
EndFunc   ;==>ChekForWin

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By TimRude
      Suppose I have a 1-D array with a number of values in it such as
      Local $aArray[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Then I want to select one of the values that should become the new first element, with the other elements rotating into new positions while keeping the array size the same.
      For example, if I wanted $aArray[4] to become $aArray[0] and end up with an array that looks like this: 4 5 6 7 8 9 0 1 2 3
      What would be the most efficient way to accomplish this, keeping in mind that the actual arrays I want to do this with will be much larger than this little sample one.
      Here's a working method I've come up with using _ArrayExtract and _ArrayConcatenate but I'm not sure if there's a better way.
      #include <Array.au3> Local $aArray[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] _ArrayDisplay($aArray, "BEFORE rotation") _ArrayRotate($aArray, 4) _ArrayDisplay($aArray, "AFTER rotation") Exit Func _ArrayRotate(ByRef $aArray, $iMakeFirst) ; $aArray = array to be rotated ; $iMakeFirst = element number to be rotated into position [0] ; Returns True if successful, False if not If Not IsArray($aArray) Then Return False ; invalid array If ($iMakeFirst < 0) Or ($iMakeFirst > UBound($aArray) - 1) Then Return False ; $iMakeFirst parameter is out of bounds If $iMakeFirst = 0 Then Return True ; no rotation needed, it's already the first element Local $aFirst = _ArrayExtract($aArray, $iMakeFirst) Local $aLast = _ArrayExtract($aArray, 0, $iMakeFirst - 1) Local $iResult = _ArrayConcatenate($aFirst, $aLast) If $iResult <> -1 Then $aArray = $aFirst Return True Else Return False EndIf EndFunc ;==>_ArrayRotate  
    • By Mannyfresh31
      Please help with this 3D Array the first example works the secound doesn't.
      Need help to understand how Arrays work.
      Many thanks in advance
      ;First Example Dim $aArray[2][2][2] $aArray[0][0][0] = 1 $aArray[0][0][1] = 2 $aArray[0][1][0] = 3 $aArray[0][1][1] = 4 $aArray[1][0][0] = 5 $aArray[1][0][1] = 6 $aArray[1][1][0] = 7 $aArray[1][1][1] = 8 For $a = 0 to 1 for $b = 0 to 1 for $c = 0 to 1 ConsoleWrite($aArray[$a][$b][$c] & @CRLF) Next Next Next ;Secound Example Local $aArraym [2][2][2]=[[[1,2,],[3,4],[5,6],[7,8]]] For $a = 0 to 1 for $b = 0 to 1 for $c = 0 to 1 ConsoleWrite($aArraym[$a][$b][$c] & @CRLF) Next Next Next  
    • By ahha
      Okay I know this will be one of those - how stupid can I be when I see the answer but I'm baffled at the current time.
      #include <Debug.au3> Local $aArray[11][2] = [ [10,10],[1,5],[2,0],[3,0],[4,"M"],[5,0],[6,0],[7,0],[8,"M"],[9,0],[10,2] ] _DebugArrayDisplay($aArray, "$aArray") Local $iCount = 0 ;init Local $i For $i = 1 to $aArray[0][0] If $aArray[$i][1] = "M" Then $iCount = $iCount + 1 ;debug ;MsgBox($MB_OK + $MB_TOPMOST, "Debug", "$aArray[$i][0] = " & $aArray[$i][0] & @CRLF & "$aArray[$i][1] = " & $aArray[$i][1]) EndIf Next MsgBox($MB_OK + $MB_TOPMOST, "Info", "M's found = " & $iCount) When I run this it states there are 8 M's in the array.
    • By nooneclose
      I was running my script and everything was working fine and then it just stopped working. 
      I got this error message:
      !>12:51:55 AutoIt3.exe ended.rc:-1073741819 +>12:51:55 AutoIt3Wrapper Finished. >Exit code: 3221225477 Time: 354.6 I looked that error up and this article (https://www.autoitscript.com/trac/autoit/ticket/2541) said it was fixed a long time ago. 
      I am using version: SciTE Version 4.1.0, how am I getting this error? (first time I got it after running my code 50+ times)
      it crashed while trying to loop through emails. 
      Full output log:
      >"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" /run /prod /ErrorStdOut /in "C:\" /UserParams +>12:46:01 Starting AutoIt3Wrapper v.18.708.1148.0 SciTE v.4.1.0.0 Keyboard:00000409 OS:WIN_10/ CPU:X64 OS:X64 Environment(Language:0409) CodePage:0 utf8.auto.check:4 +> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE >Running AU3Check (3.3.14.5) from:C:\Program Files (x86)\AutoIt3 +>12:46:01 AU3Check ended.rc:0 >Running:(3.3.14.5): --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop Action 1: Create a connection to the outlook account at line: 192 Action 1: Finished at line: 205 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Current email has been changed from Unread to Read. at line: 238 Current email has been changed from Unread to Read. at line: 238 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 3: Store vaild E-mails at line: 258 Number of unread E-mails: 17 at line: 290 Action 3: Finished at line: 292 Current number of processed Emails is: 0 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Description. Suite not needed. at line: 2180 Action 7: Finished at line: 2186 Opening a new Chrome window. at line: 2747 Action 8: Open Web Browser at line: 2240 _WDStartup: "MicrosoftWebDriver.exe" --verbose Action 8: Finished at line: 2270 Action 9: Navigate to Work Order Tracking at line: 2281 Action 9: Finished at line: 2295 Action 10: Click on Create New Work Order at line: 2306 Action 10: Finished Action 11: Send E-mail Data to it's proper field at line: 2324 Sub-Action 3: Split Long Description at line: 2522 Sub-Action 3: Finished at line: 2576 Work Order Number: 660308 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 1 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Description. Suite not needed. at line: 2180 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Work Order Number: 660309 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 2 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Description. Suite not needed. at line: 2180 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Sub-Action 3: Split Long Description at line: 2522 Sub-Action 3: Finished at line: 2576 Work Order Number: 660310 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 3 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Description. Suite not needed. at line: 2180 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Work Order Number: 660311 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 4 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Description. Suite not needed. at line: 2180 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Work Order Number: 660312 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 5 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Description. Suite not needed. at line: 2180 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Work Order Number: 660313 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 6 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Proper Building format used. Send Location: YT6508 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Long Description. Suite not needed. at line: 1475 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Work Order Number: 660314 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 7 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Proper Building format used. Send Location: CN2116 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Long Description. Suite not needed. at line: 1475 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Sub-Action 3: Split Long Description at line: 2522 Sub-Action 3: Finished at line: 2576 Work Order Number: 660315 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 8 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Proper Building format used. Send Location: DT4905 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Work Order Number: 660316 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 9 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Proper Building format used. Send Location: YT6513 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 Young Tower has no suites! Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Sub-Action 3: Split Long Description at line: 2522 Sub-Action 3: Finished at line: 2576 Work Order Number: 660317 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 10 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Proper Building format used. Send Location: BT3310 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Long Description. Suite not needed. at line: 1475 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Sub-Action 3: Split Long Description at line: 2522 Sub-Action 3: Finished at line: 2576 Work Order Number: 660318 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 11 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Proper Building format used. Send Location: BT3411 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Description. Suite not needed. at line: 2180 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Sub-Action 3: Split Long Description at line: 2522 Sub-Action 3: Finished at line: 2576 Work Order Number: 660319 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 12 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 Action 4: Finished at line: 361 Action 5: Store E-mail's contents at line: 371 Action 5: Finished at line: 495 Action 6: Test to Skip based on location at line: 508 Proper Building format used. Send Location: DT4519 Action 6: Finished at line: 710 Action 7: Check if location needs to be a suite at line: 720 The 'Bathroom' is not mentioned in the Description. Suite not needed. at line: 2180 Action 7: Finished at line: 2186 Action 11: Send E-mail Data to it's proper field at line: 2324 Sub-Action 3: Split Long Description at line: 2522 Sub-Action 3: Finished at line: 2576 Work Order Number: 660320 Action 11: Finished at line: 2511 Change status was called at line: 2758 Sub-Action 2: Change E-mail to Read at line: 2223 Current email has been changed from Unread to Read. at line: 2226 Sub-Action 2: Finished at line: 2230 Action 16: Create New Work Order at line: 2705 Action 16: Finished at line: 2719 Current number of processed Emails is: 13 at line: 2735 Action 2: Scan for invaild E-mails at line: 215 Number of SKIPPED unread E-mails: at line: 226 Number of SKIPPED E-mails: 0 at line: 246 Action 2: Finished at line: 248 Action 4: Loop through E-mails at line: 302 !>12:51:55 AutoIt3.exe ended.rc:-1073741819 +>12:51:55 AutoIt3Wrapper Finished. >Exit code: 3221225477 Time: 354.6  
    • By VinMe
      I am unable to execute the below script, my requirement is to copy the content from active excel sheet and to display the same.
      Please let me know where i am missing!
      #include <Excel.au3>
      #include <MsgBoxConstants.au3>
      #include <Array.au3>
      #include <StringConstants.au3>
      Local $oExcel = _Excel_Open()
      $LastRow2 = $oExcel.UsedRange.Rows.Count
      $Tissue = _Excel_RangeRead($oExcel, Default, "E1:E" & $LastRow2)
      $TshNr = _Excel_RangeRead($oExcel, Default, "F1:F" & $LastRow2)
      _ArrayDisplay($Tissue)
      _ArrayDisplay($TshNr)
×
×
  • Create New...