Project1

标题: 请问用RMXP怎么做连连看? [打印本页]

作者: chynna5188    时间: 2016-12-19 19:49
标题: 请问用RMXP怎么做连连看?
求解啊~
作者: SixRC    时间: 2016-12-19 21:44
这个你得用脚本写吧

首先你需要这个:
RUBY 代码复制
  1. =begin
  2. 第一个是获取鼠标相对于游戏界面的位置
  3. 使用方法是 Extra.get_cursor 调用一次后会保存到 $Mouse
  4. 每一次 Graphics.update 后 要用鼠标位置的话就要调用一次
  5. 第二个是判断鼠标是否被按下
  6. 使用是 Extra.p? 是的话会返回True
  7. =end
  8. $Mouse=[0,0]
  9. module Extra
  10.   module_function
  11. #---------------------窗口句柄----------------------------------
  12.   Hwnd=Win32API.new("user32", "GetActiveWindow", 'v', 'L').call
  13. #-------------------获取鼠标对于游戏界面坐标---------------------
  14.   GetWindowRect = Win32API.new("user32", "GetWindowRect", %w(i p), 'i')
  15.   GetCursorPos = Win32API.new("user32","GetCursorPos",'P','V')
  16.   def get_cursor
  17.     x=' '*8
  18.     GetCursorPos.Call(x)
  19.     mouse=x.unpack('ll')
  20.     GetWindowRect.call(Hwnd,x)
  21.     gametop=x.unpack('ll')
  22.     x=mouse[0]-gametop[0]-3
  23.     y=mouse[1]-gametop[1]-29
  24.     $Mouse=[x,y]
  25.   end
  26. #-------------------是否按下鼠标-----------------------------
  27.   Get=Win32API.new("user32","GetAsyncKeyState",'i','i')
  28.   def p?()
  29.     Get.call(1) != 0
  30.   end
  31. end



然后 关于连连看的算法问题 可以参考这个 http://jingyan.baidu.com/article/c85b7a640df6d7003bac95d9.html
然后 就靠你自己了
作者: 浮云半仙    时间: 2016-12-20 07:18
嗯鼠标脚本,
核心的算法是个广度优先搜索嘛
作者: chynna5188    时间: 2016-12-20 11:49
SixRC 发表于 2016-12-19 21:44
这个你得用脚本写吧

首先你需要这个:

好的,非常感谢~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1