wechat_jump_game README

The project's README from github.com/wangshub/wechat_jump_game. As one markdown file: README.md.

教你用 Python 来玩微信跳一跳

GitHub stars GitHub forks GitHub license

Throughput Graph

游戏模式

2017 年 12 月 28 日下午,微信发布了 6.6.1 版本,加入了「小游戏」功能,并提供了官方 DEMO「跳一跳」。这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。分数越高,那么在好友排行榜更加靠前。通过 Python 脚本自动运行,让你轻松霸榜。

可能刚开始上手的时候,因为时间距离之间的关系把握不恰当,只能跳出几个就掉到了台子下面。如果能利用图像识别精确测量出起始和目标点之间测距离,就可以估计按压的时间来精确跳跃。

原理说明

由于微信检测非常严厉,这里的防禁代码可能已经不起作用,主要供学习用途
  1. 将手机点击到《跳一跳》小程序界面

  2. 用 ADB 工具获取当前手机截图,并用 ADB 将截图 pull 上来

adb shell screencap -p /sdcard/autojump.png
adb pull /sdcard/autojump.png .
  1. 计算按压时间
  1. 用 ADB 工具点击屏幕蓄力一跳
adb shell input swipe x y x y time(ms)

使用教程

相关软件工具安装和使用步骤请参考 Android 和 iOS 操作步骤

获取源码

- git clone https://github.com/wangshub/wechat_jump_game.git
非常推荐使用Python3,避免编码及import问题

PR 要求

请选择 merge 进 master 分支,并且标题写上简短描述,例子

[优化] 使用PEP8优化代码

版本说明

FAQ

更新日志

开发者列表

交流

wechat_jump_game (wangshub/wechat_jump_game)

Searching Database…

Что это такое?Это Python-скрипт, который автоматически играет в мини-игру WeChat «Прыжок» (跳一跳). Он использует распознавание изображений, чтобы измерять расстояние прыжка, и ADB, чтобы управлять экраном телефона.
Это приложение или просто скрипт?Это отдельный Python-скрипт, который вы запускаете на компьютере. Он не устанавливается на сам телефон, а управляет им извне через ADB.
Как всё это запустить?Склонируйте репозиторий, убедитесь, что на телефоне открыта игра «Прыжок», и запустите скрипт. Он получит скриншот через ADB, проанализирует его и выполнит нажатие на экран нужной длительности, чтобы совершить прыжок.
Нужно ли сначала настроить ADB?Да, нужно установить Android Debug Bridge (ADB) и настроить его на подключение к вашему телефону, а также Python 3, чтобы избежать проблем с кодировкой и импортом.
Антибан-механизмы в коде ещё работают?Автор предупреждает, что защита WeChat стала строже и антибан-приёмы в коде могут уже не работать, поэтому сейчас проект в основном предназначен для учебных целей.
Поддерживаются ли и ручной, и автоматический расчёт прыжка?Да. В ручном режиме вы кликаете начальную и конечную точки на скриншоте, показанном через Matplotlib, чтобы измерить расстояние. В автоматическом режиме скрипт сам находит фигурку и платформу по цвету.
Работает ли это и на iOS-устройствах?В README описаны шаги настройки и для Android, и для iOS, но основной механизм получения скриншотов и управления, который здесь используется, опирается на ADB, а это инструмент для Android.
Как скрипт определяет, как долго нажимать на экран?Он вычисляет расстояние в пикселях между текущим положением персонажа и целевой платформой, а затем переводит это расстояние в пропорциональную длительность нажатия, которая через ADB запускает прыжок.
Почему нет установщика в один клик?Это скрипт-хобби для учебных целей, построенный на автоматизации через ADB, поэтому установка сводится к клонированию репозитория, подключению телефона по ADB и запуску Python-файла напрямую.
Creator
wangshub
Size
26.3 MB
Stars
13.8K
Updated
CommitAug 03
Age
8y
Commits · 90 Days