首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PHP

用最好的语言 PHP 玩微信跳一跳

  •  
  •   metowolf · 262 天前 · 7701 次点击
    这是一个创建于 262 天前的主题,其中的信息可能已经有所发展或是发生改变。

    别打我,我不是引战的 XD

    github

    https://github.com/metowolf/JumpJumpHelper

    效果图

    screen.png

    食用方式

    1. 手机进入设置 > 开发者选项,打开 USB 调试、模拟触控
    2. 手机连接电脑,安装 adb 相关驱动,检查 adb devices 命令是否能显示设备 ID
    3. 微信进入跳一跳游戏,点击开始
    4. 电脑运行 php run.php

    如果发现跳跃过远 /近,可以适当调节 config.php 中的参数

    原理

    • 截取手机屏幕,并传到电脑上。
    • 通过分析图片,取得当前任务及其目标位置
    • 计算按压时间,通过 adb 命令模拟点按操作

    其实大部分原理和前人 python、nodejs 版的是差不多的,这里通过 php-gd 库来实现像素的提取。

    棋子的识别,通过多次取棋子底部最宽部分的颜色均值来实现,正确率挺高的。
    棋盘的识别,排除背景色后,按连续像素长度来匹配,找到第一个峰值,取中心位置。在大部分情况下都能正确识别,但遇到棋子和下一个棋盘重叠(挨得很近)的情况就会出错。打算考虑其它方法。

    (各种语言的版本应该全了

    求大佬们指教

    第 1 条附言  ·  262 天前
    更新了目标点识别算法,采用二次函数进行拟合,调调参数,现在大概可以破千了
    24 回复  |  直到 2018-01-12 10:24:07 +08:00
        1
    baodaren8   262 天前
    0.0 一个小游戏。何必这样呢。
        2
    kn007   262 天前
    可以的,兄弟
        3
    askfilm   262 天前
    大家都很 6
        4
    locksheep   262 天前 via Android
    因为乐趣
        5
    Mrxx   262 天前
    这才是 v2ex
        6
    JohnChiu   262 天前
    很棒,很有意思
        7
    to2false   262 天前 via iPhone
    捧场
        8
    lyzy   262 天前
    这才是 v2ex
        9
    pyufftj   262 天前
    666
    微信:我有一句 MMP
        10
    paragon   262 天前
    adb 恐成最大赢家
        11
    RobertYang   262 天前 via Android
    😂😂看看能不能超过 Python 那个的分数
        12
    Patrick95   262 天前   ♥ 1
    东西是好东西,只是我手动玩这个游戏的热情已经完全被浇灭了。
    我手动打出 381 分的成绩,却被 2000 多分的朋友超了。
        13
    lsido   262 天前 via iPhone
    这才是 v2er
        14
    Takahashi   262 天前
    很棒,原来 PHP 还能这么玩
        15
    xiaojie668329   262 天前 via iPhone
    安卓方便,ios 搞起来太麻烦了。
        16
    nicevar   262 天前
    额。。。用最好的语言兼容性没弄好,getStart 函数直接 gg
        17
    cjyang1128   262 天前
    很棒很棒,仿佛回到了当年的百家争鸣时代,哈哈哈
        18
    jasonpeng0322   262 天前
    用了,Samsung S7 Edge 并不能跳几下就 GG 了。
        19
    ieliwb   262 天前
    PHP 还可以这样玩,NB
        20
    lepig   262 天前
    ios 可以吗
        21
    Mac   262 天前 via Android
    小米 Note3 完美,哈哈哈
        22
    townmu   262 天前 via Android
    @Patrick95 我超不过 300 多分的一个人,索性刷一下到 700 多分,我不开心,你们谁也别想好
        23
    jookr   261 天前
    请问直接把截图放到根目录运行 run.php 报错可以帮解决一下吗

    #00000:
    Notice: Undefined variable: x in M:\Web\localhost\test-2\jump\run.php on line 42

    Notice: Undefined variable: y in M:\Web\localhost\test-2\jump\run.php on line 42

    Notice: Undefined variable: mid in M:\Web\localhost\test-2\jump\run.php on line 81

    Notice: Undefined variable: mid in M:\Web\localhost\test-2\jump\run.php on line 81
        24
    weilongs   251 天前
    试了一下,我最多蹦 30 多分就挂了。我蹦一下,他蹦一下感觉好有爱。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3120 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 24ms · UTC 07:38 · PVG 15:38 · LAX 00:38 · JFK 03:38
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1