metowolf
V2EX  ›  PHP

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

  •  
  •   metowolf · Dec 31, 2017 · 12350 views
    This topic created in 3239 days ago, the information mentioned may be changed or developed.

    别打我,我不是引战的 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 库来实现像素的提取。

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

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

    求大佬们指教

    Supplement 1  ·  Dec 31, 2017
    更新了目标点识别算法,采用二次函数进行拟合,调调参数,现在大概可以破千了
    24 replies  •  2018-01-12 10:24:07 +08:00
    baodaren8
    baodaren8
    Dec 31, 2017
    1
    0.0 一个小游戏。何必这样呢。
    kn007
    kn007
    Dec 31, 2017
    2
    可以的,兄弟
    askfilm
    askfilm
    Dec 31, 2017
    3
    大家都很 6
    locksheep
    locksheep
    Dec 31, 2017 via Android
    4
    因为乐趣
    Mrxx
    Mrxx
    Dec 31, 2017
    5
    这才是 v2ex
    JohnChiu
    JohnChiu
    Dec 31, 2017
    6
    很棒,很有意思
    to2false
    to2false
    Dec 31, 2017 via iPhone
    7
    捧场
    lyzy
    lyzy
    Dec 31, 2017
    8
    这才是 v2ex
    pyufftj
    pyufftj
    Dec 31, 2017
    9
    666
    微信:我有一句 MMP
    paragon
    paragon
    Dec 31, 2017
    10
    adb 恐成最大赢家
    RobertYang
    RobertYang
    Dec 31, 2017 via Android
    11
    😂😂看看能不能超过 Python 那个的分数
    Patrick95
    Patrick95
    Dec 31, 2017❤️1
    12
    东西是好东西,只是我手动玩这个游戏的热情已经完全被浇灭了。
    我手动打出 381 分的成绩,却被 2000 多分的朋友超了。
    lsido
    lsido
    Dec 31, 2017 via iPhone
    13
    这才是 v2er
    Takahashi
    Takahashi
    Dec 31, 2017
    14
    很棒,原来 PHP 还能这么玩
    voidcomma
    voidcomma
    Dec 31, 2017 via iPhone
    15
    安卓方便,ios 搞起来太麻烦了。
    nicevar
    nicevar
    Dec 31, 2017
    16
    额。。。用最好的语言兼容性没弄好,getStart 函数直接 gg
    cjyang1128
    cjyang1128
    Dec 31, 2017
    17
    很棒很棒,仿佛回到了当年的百家争鸣时代,哈哈哈
    jasonpeng0322
    jasonpeng0322
    Dec 31, 2017
    18
    用了,Samsung S7 Edge 并不能跳几下就 GG 了。
    ieliwb
    ieliwb
    Dec 31, 2017
    19
    PHP 还可以这样玩,NB
    lepig
    lepig
    Dec 31, 2017
    20
    ios 可以吗
    Mac
    Mac
    Jan 1, 2018 via Android
    21
    小米 Note3 完美,哈哈哈
    townmu
    townmu
    Jan 1, 2018 via Android
    22
    @Patrick95 我超不过 300 多分的一个人,索性刷一下到 700 多分,我不开心,你们谁也别想好
    jookr
    jookr
    Jan 2, 2018
    23
    请问直接把截图放到根目录运行 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
    weilongs
    weilongs
    Jan 12, 2018
    24
    试了一下,我最多蹦 30 多分就挂了。我蹦一下,他蹦一下感觉好有爱。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1330 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 17:30 · PVG 01:30 · LAX 09:30 · JFK 12:30
    ♥ Do have faith in what you're doing.