metowolf
V2EX  ›  PHP

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

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