参考《30行Python代码刷王者荣耀金币》:https://segmentfault.com/a/1190000012520431
1.源代码
以下是源代码部分,全部复制到文本文档,
用 “你的文件名字.bat” 进行保存。
然后双击打开运行,即可
::adb shell input tap 100 100
::for /l %%i in ( 1,2,10 ) do (
:: echo %%i
::)
::pause
::cmd /k dir
@echo off
::if 2 GTR 3 (
:: echo 前者大于后者
::) else (
:: echo 前者小于后者
::)
set /p width=输入屏幕宽度;
set /p height=输入屏幕高度:
echo 以下是高度和宽度 : %width% * %height%
set /a w_ratio=width*1000/1920
set /a h_ratio=height*1000/1080
::echo width
::echo height
set /p times=下面请输入你要循环执行的次数:
echo 将会循环执行 %times% 次。
set /p ready=如果你已经准备好开始了,请输入 yes :
if "%ready%" == "yes" (
echo 好,现在开始
) else (
echo %ready%
echo "你退出了该程序"
pause
exit
)
for /l %%i in (1,1, %times% ) do (
echo 这局游戏开始了
call :money 3 1600 970
echo Ready , Go !
call :money 15 1450 910
echo Auto Power On !
call :money 0 1780 40
for /l %%i in ( 1 , 1 , 25 ) do (
call :money 1 1000 500
)
echo 一二三四,再来一次!
call :money 3 1430 980
)
echo ——————————
echo 程序执行完毕。———
echo ——————————
pause
exit
:money
::ping命令实际运行时,运行的实际时间,总是比-n 后面的数,少1秒。时间众筹。所以这里补上1秒。
set /a delay_s=%1 + 1
set /a pos_X=%2*%w_ratio%/1000
set /a pos_Y=%3*%h_ratio%/1000
::echo %delay_s% , %pos_X% , %pos_Y%
adb shell input tap %pos_X% %pos_Y%
echo 执行了 一 次点击操作 %pos_X%,%pos_Y%
::实际是等待delay_s - 1秒。
ping -n %delay_s% 127.0.0.1>nul
goto:eof
2.根据每个人手机的分辨率不同,以及具体通关的时间不同
可以手动微调 .bat 代码中的参数,直到得出最适合自己的样本模板。
1.分辨率。
目前(代码中)基准分辨率是 1920 * 1080 , 你输入的自定义分辨率,将会根据 与基准分辨率的比例进行缩放。
所以大多数情况下,应该是能满足不同手机的分辨率要求了。
如果你觉得手头分辨率情况比较特殊,可以修改 1920 和 1080 这两个值,直到能够准确的满足你的要求。2.money方法
第一个参数,是执行完该次点击事件后,等待的秒数。第二个参数,是点击的横坐标X的位置
默认是[0,1920]区间的某一个整数。第三个参数,是点击的纵坐标Y的位置
默认是[0,1080]区间的某一个整数。你可以通过修改
call :money 秒数 点击横坐标 点击纵坐标
这个函数的调用,来微调你所喜欢的模式。