这个你得用脚本写吧
首先你需要这个:
=begin 第一个是获取鼠标相对于游戏界面的位置 使用方法是 Extra.get_cursor 调用一次后会保存到 $Mouse 每一次 Graphics.update 后 要用鼠标位置的话就要调用一次 第二个是判断鼠标是否被按下 使用是 Extra.p? 是的话会返回True =end $Mouse=[0,0] module Extra module_function #---------------------窗口句柄---------------------------------- Hwnd=Win32API.new("user32", "GetActiveWindow", 'v', 'L').call #-------------------获取鼠标对于游戏界面坐标--------------------- GetWindowRect = Win32API.new("user32", "GetWindowRect", %w(i p), 'i') GetCursorPos = Win32API.new("user32","GetCursorPos",'P','V') def get_cursor x=' '*8 GetCursorPos.Call(x) mouse=x.unpack('ll') GetWindowRect.call(Hwnd,x) gametop=x.unpack('ll') x=mouse[0]-gametop[0]-3 y=mouse[1]-gametop[1]-29 $Mouse=[x,y] end #-------------------是否按下鼠标----------------------------- Get=Win32API.new("user32","GetAsyncKeyState",'i','i') def p?() Get.call(1) != 0 end end
=begin
第一个是获取鼠标相对于游戏界面的位置
使用方法是 Extra.get_cursor 调用一次后会保存到 $Mouse
每一次 Graphics.update 后 要用鼠标位置的话就要调用一次
第二个是判断鼠标是否被按下
使用是 Extra.p? 是的话会返回True
=end
$Mouse=[0,0]
module Extra
module_function
#---------------------窗口句柄----------------------------------
Hwnd=Win32API.new("user32", "GetActiveWindow", 'v', 'L').call
#-------------------获取鼠标对于游戏界面坐标---------------------
GetWindowRect = Win32API.new("user32", "GetWindowRect", %w(i p), 'i')
GetCursorPos = Win32API.new("user32","GetCursorPos",'P','V')
def get_cursor
x=' '*8
GetCursorPos.Call(x)
mouse=x.unpack('ll')
GetWindowRect.call(Hwnd,x)
gametop=x.unpack('ll')
x=mouse[0]-gametop[0]-3
y=mouse[1]-gametop[1]-29
$Mouse=[x,y]
end
#-------------------是否按下鼠标-----------------------------
Get=Win32API.new("user32","GetAsyncKeyState",'i','i')
def p?()
Get.call(1) != 0
end
end
然后 关于连连看的算法问题 可以参考这个 http://jingyan.baidu.com/article/c85b7a640df6d7003bac95d9.html
然后 就靠你自己了 |