Skip to content

crucialize/Jumping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jumping

微信小游戏跳一跳辅助(c#)

下载

https://github.com/crucialize/Jumping/releases/

使用前

使用时

  1. 打开USB调试,预先连接电脑,在手机上的对话框中授权调试
  2. 确保手机没有通知消息的打扰(以防影响画面)
  3. 打开跳一跳,并点击开始游戏
  4. 打开程序,然后就没你什么事了
  5. 如果你进步的太快,微信会拒绝接受你的此次成绩

使用后

  • 程序目录中的log文件夹存放的是截图,收集截图有利于bug的消灭。截图会占用空间,你可以手动清理。如果某一步条失败了,请将失败的那一步原图(xxx.png)以及(xxx_modified.png)发给我。2751167151@qq.com

开发人员注意

算法

颜色差异 ColorDiff

ColorDiff=|R1-R2|+|B1-B2|+|G1-G2|

起始点算法

棋子是紫黑色的,所以,

  1. 找到所有和紫黑色相近的点(相近,ColorDiff<=...)
  2. 寻找聚类中心,即重心,运用重心公式:x=平均x,y=平均y
  3. 发现聚类中心向下偏移几十个像素即为棋子的脚

目标点算法(会有潜在bug)

  1. 我们发现,所有方块的中心几乎在两条直线上(回去加图)
  2. 从x=0,x=1079发出两条直线,碰到第一个颜色突变(突变,Diff(last,now)>...)的点可能目标方块的边缘(称为可疑点)。说明:可疑点可能是目标方块的边缘,也可能是棋子,也可能是脚底下的方块。

if 起始点.X 与 中线(1080/2) 不太相近: if 起始点 在 左边: 应该往 右 跳 if 起始点 在 右边: 应该往 左 跳 else if 存在可疑点P,使P.X太接近 起始点.X: 不选P点作为目标点

所以,目标点是目标方块边缘。不求中心,只求跳到边缘。

距离算法

我没有采用Dist(S,T),而是采用S,T点以某个斜率k作直线,直线间距。

按压算法

按压点随机。按压时间系数自己随便调的。