wangshub / wechat_jump_game

微信《跳一跳》Python 辅助

Home Page:https://zhuanlan.zhihu.com/p/32452473

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

【建议】找台阶算法建议

BananaCheung opened this issue · comments

我是用HALCON实现的,Python应该也可以实现。我的方法如下:

  1. 找到棋子,这个用目前的方法就好了;
  2. 找台阶
    2.1 用这里的方法找到台阶最高点
    2.2 过最高点作一条垂直线
    2.3 过棋子的定位点,作一条与水平方向成30度(或150度,视棋子在左侧还是右侧)的直线
    2.4 求两直线的交点,得到台阶的中心
  3. 求得按压时间

我在HALCON里用这个方法轻松上1000,期待大家将方法用Python实现

我尝试了这个方法,有个问题是当棋子没有跳到中心的时候,会累积误差。y坐标要么越来越低,要么越来越高

又试了下,用来做修正还是蛮好的。

误差是有,但是基本上跳个两三次就会自己修正,我自己尝试了可以连续10多跳到中心。

之所以Y坐标偏差越来越大,我猜是因为计算时间用的系数的原因。

自动修正是什么意思?我的意思是一旦有一次没有跳到中心(是弹跳系数的问题),比如低了5个像素,下一次判断就会低五个像素,这个误差会累计。如果每次都跳到中心是没有问题的。

我所说的自动修正指的是:有误差没关系,跳1~2次之后,这个误差就会抵消,不会累计。
不知道你是怎么实现的,我在使用时不会累计到跳出界,前提系数的设置正确