美文网首页程序员大数据 爬虫Python AI Sql
数十行 Python 代码全自动刷王者荣耀金币

数十行 Python 代码全自动刷王者荣耀金币

作者: 凌霄_ | 来源:发表于2017-12-24 21:42 被阅读316次

个人博客:凌霄的博客 - 全栈技术博客

王者荣耀的冒险模式里有个挑战模式,第一次过关可以获得比较多的金币,后面重新挑战还是会获得少量金币,这不算是bug,你不嫌烦手动蛮力也可以刷金币。

此关卡使用纯输出英雄20秒左右可以打BOSS,50秒左右可以通关,每次重复通关可以获得奖励19金币。在开挂前建议你手动通关体验一下。此为游戏原理。

简单来说,需要执行以下步骤:

  1. 界面打开至挑战关卡:陨落的废都 - 魔女回忆 【点击下一步】
  2. 进入阵容调整界面,提前安排好阵容。【点击闯关】
  3. 进入挑战界面。【点击右上角-自动-等待挑战结束】
  4. 进入挑战完成界面。【点击屏幕继续】
  5. 进入关卡奖励界面。【点击再次挑战】
  6. 进入阵容调整界面,循环至步骤1或步骤2【貌似取决于游戏区和版本】

只要你能模拟屏幕点击就可以完成刷金币的脚本,在安卓模拟界面点击最简单的方式就是使用ADB发送命令,不需要root手机,不需要安装第三方软件,方便快捷。ADB命令点击屏幕坐标[x, y] 可以使用命令:

adb shell input tap x y

准备

  • 本脚本适用于安卓游戏区,需要真实安卓手机。
  • 手机需开启USB调试模式,允许电脑调试。
  • 电脑需安装好安卓驱动,一般豌豆荚或者各种管家可以自动帮你装好。
  • 电脑需要有ADB工具集,很多方式可以获取。
  • ADB工具需要加入环境变量PATH中,方便随时调用。
  • 电脑上需要安装Python,因为这是我选择的脚本语言。

步骤

#检测设备
$ adb devices
#如果正常则显示
List of devices attached
b******4        device

代码实现

def tap_screen(x, y):
    os.system('adb shell input tap {} {}'.format(x, y))

def do_money_work():
    print('#0 start the game')
    tap_screen(1600, 970)
    sleep(3)

    print('#1 ready, go!!!')
    tap_screen(1450, 910)
    sleep(15)

    print('#2 auto power on!')
    tap_screen(1780, 40)

    for i in range(25):
        tap_screen(1000, 500)
        sleep(1)

    print('#3 do it again...\n')
    tap_screen(1430, 980)
    sleep(3)

写个主函数来循环

if __name__ == '__main__':
    for i in range(repeat_times):
        print('round #{}'.format(i + 1))
        do_money_work()

此文为转载自 segmentfault

送给伸手党


  1. 下载 项目 中的 kog.py 到本地。
  2. 将游戏打开,进入挑战模式,魔女回忆,阵容调整界面。
  3. 根据手机性能和分辨率,调整 kog.py 中的参数。(手机分辨率,刷金次数等等)
  4. 命令行运行 python kog.py

大功告成!

个人博客:凌霄的博客 - 全栈技术博客

相关文章

网友评论

    本文标题:数十行 Python 代码全自动刷王者荣耀金币

    本文链接:https://www.haomeiwen.com/subject/dbcpqxtx.html