用世界上最好的语言 来玩微信跳一跳

分享 madaima ⋅ 于 6个月前 ⋅ 最后回复由 Bin 6个月前 ⋅ 2853 阅读

GITHUB

https://github.com/madaima/wechat_jump_game

环境

  • PHP-CLI
  • GIT BASH 或同等 mingw 环境
  • ADB 可以到这里下载

原理说明

  1. 将手机点击到《跳一跳》小程序界面;
  2. 用 ADB 工具获取当前手机截图,并用 ADB 将截图保存至电脑,
  • 方案一(需在 mingw 环境中执行 ,可使用 git 自带的 git bash 中执行)
    adb shell screencap -p | sed 's/\r$//' > screenshot/screen.png
  • 方案二 (命令行中执行即可 , 部分手机提示无权限)
    adb shell screencap -p /sdcard/screen.png
    adb pull /screenshot/screen.png .
  1. 逐列扫描像素点,匹配棋子位置、棋盘位置;
  2. 计算棋子与棋盘中心点位置,乘以一定的系数,得到时间;
  3. 通过 ADB ,触发操作;
    adb shell input swipe x y x y time(ms)

操作步骤(android)

  • 打开USB调试,使用 USB 线连接手机;
  • 确保执行 adb devices 可以看到设备列表;
  • 打开微信跳一跳游戏,点击开始游戏;
  • 运行php run.php

效果

  • 描点
    描点

  • 分数
    描点

本文章首发在 Laravel China 社区
本帖已被设为精华帖!
本帖由 Summer 于 6个月前 加精
回复数量: 15
暂无评论~~
您需要登陆以后才能留下评论!

Composer 中国全量镜像

Top 100 扩展包

Lumen 中文文档

Laravel 速查表

Laravel 中文文档

Laravel 项目开发规范

Laravel 开发环境部署

Elasticsearch-PHP 中文文档

Lumen 中文文档

GraphQL PHP 中文文档

社区文档撰写指南

TDD 构建 Laravel 论坛笔记

PHP PSR 标准规范

PHP 设计模式全集

Dingo API 中文文档