将代码转换为python

时间:2011-06-27 05:36:59

标签: python-3.x poker

我正在学习python,这就是我感兴趣的那种project。我不知道脚本是用什么语言编写的(可能是lisp或autohotkey?),但是我想将它转换为python。你能指点我正确的方向并告诉我

  • 这是用什么语言的?
  • 我需要学习转换它吗?

谢谢!

; Thois TableOpener for PokerStars v1.05
; Opens new cash game tables from the lobby every x seconds (if there are  less tables opened than your predefined settings). A great tool for multi-tablers.
; Customize the variables below (between the lines)
; 'Thois' on PS for donations

; Customizable variables (between the lines)
;------------------------------------------
rowheight := 13 ;In the PokerStars lobby go to View > Text Size: For Medium & smaller:13, For smallest:12, For Larger:15, For Largest:17
recheck := 50 ;How often the script should open up new tables (if needed),     50=10seconds, 25=5seconds etc... Try not to set this too low for CPU performance issues
;------------------------------------------

Gui, Font, s8, Arial
Gui, Add, Text,, Number Of Tables:
Gui, Add, Edit
Gui, Add, UpDown, vnumberoftablestokeepopen Range1-24, 12
Gui, Add, Checkbox, venabledisable, Run!
Gui, Show,, Thois TableOpener for PokerStars v1.00
Gui, Submit, NoHide

numberofloopinstances := recheck - 1

Loop
{
Gui, Submit, NoHide
SendMessage, 0x115, 0, 0, PokerStarsListClass1, PokerStars Lobby
numberofloopinstances := numberofloopinstances + 1
if (numberofloopinstances = recheck)
    {
    numberofloopinstances := 0
    WinGet, numberofwindows, Count, ahk_class PokerStarsTableFrameClass,,Lobby
    beffen := numberoftablestokeepopen - numberofwindows
    if (beffen > 0 AND enabledisable = 1)
        {
        Loop
            {
            ControlGet, tablesinthelobby, Hwnd, , PokerStarsListClass1, PokerStars Lobby
            yclick := 1 + (rowheight * A_Index) - rowheight
            PostLeftClick(1, yclick, tablesinthelobby)
            ControlClick, PokerStarsButtonClass10, PokerStars Lobby
            Sleep, 500
            WinGet, numberofwindows, Count, ahk_class PokerStarsTableFrameClass,,Lobby
            beffen := numberoftablestokeepopen - numberofwindows
            if (beffen = 0)
                {
                break
                }
            }
        }
    }
Sleep, 200
}

; Hotkeys (disabled)

;~Xbutton1:: ;Endlessly cycles between all tables in the stack the cursor is pointing at (brings the front table to the back), disabled (remove ; marks to enable)
;MouseGetPos,,,tableID
;WinGetClass, classoftableid, ahk_id %tableID%
;if (classoftableid = "PokerStarsTableFrameClass")
;   {
;   WinSet, Bottom,, ahk_id %tableID%
;   }
;return

;~Xbutton2:: ;Closes the table the mouse is pointing at (also clicks the OK warning button), disabled (remove ; marks to enable)
;MouseGetPos,,,tableID
;WinGetClass, classoftableid, ahk_id %tableID%
;if (classoftableid = "PokerStarsTableFrameClass");
;   {
;   WinClose, ahk_id %tableID%
;   Sleep,20
;   ControlClick, Button1, Table, OK
;   }
;return

;Juks rocks - I deactivated WinActivate so that the Lobby doesnt steal focus
PostLeftClick(x, y, table_id, activate=1) {
; ### JUK: Send the down left click, then the mouse-up messages.
; NOTE: This is relative to the top left of the client area and NOT the top left of the
;       window (ie: It *doesn't* include the title-bar like AHK's MouseClick does!!!).
If activate
; WinActivate, ahk_id%table_id%
PostMessage, 0x201, 0x0001, ((y<<16)^x), , ahk_id%table_id%
PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
}

GuiClose:
ExitApp

1 个答案:

答案 0 :(得分:2)

毫无疑问,AutoHotKey。你需要转换它是:

  1. 充分了解AutoHotKey以了解该程序的功能。
  2. 足够了解Python能够重新创建程序的功能。
  3. 您应该注意,AutoHotKey和Python 非常不同。 AutoHotKey是一个用于自动化鼠标和键盘,以控制其他程序的软件。这当然可以用Python做,但你做的方式取决于环境。如果没有外部库来帮助你,你可能无法做到这一点,因为Python是一种你主要编写程序的语言,而不是你用来控制现有程序的语言。

    所以我怀疑你的转换努力是值得的。