利用python实现dnf中小游戏自动化玩耍(地下城脚本低价卡盟)
2024-05-21 19:01:20 作者:佚名
学习累了听听歌,看看电影,当然少不了玩玩游戏啦,作为地下城与勇士(dnf) 老玩家,08年就入坑了,中间来来回回弃坑入坑,总是舍不得,偶尔会登录进去玩玩。最近出了一个阳光少女成长记的小游戏活动。
我们只要动动鼠标键盘就能完成里面的任务,既然这么傻瓜式的操作,我们为啥不能利用的自动化功能写个脚本自动让程序来完成呢,废话不多说开干。
首先我们想到的是: 控件 可实现鼠标键盘的自动化操作
安装
pip install pyautogui
我们写个向左走的脚本试试,就是键盘上按下 < 左(left)的按键。
import pyautogui
import time
time.sleep(2)
pyautogui.keyDown('left')
运行脚本,等待两秒后,鼠标在往左移动。我们把焦点放到游戏中试试,等了半天没反应,完犊子这个自动化不支持游戏。
搞错了从来,我们安装另外一个控件:
pip install pydirectinput
的一些用法
pydirectinput.moveTo(x, y) # 鼠标移动到坐标x,y
pydirectinput.click() # 点击左键
pydirectinput.doubleClick() # 双击左键
pydirectinput.keyDown('left')#按下left键
pydirectinput.keyUp('left')#弹起left键
我们把想要自动操作的步骤写成脚本,通过循环语句运行,就能实现自动玩小游戏了。
import pydirectinput
import time
def playGame():
pydirectinput.keyDown('right')
pydirectinput.keyDown('right')
pydirectinput.keyUp('right')
print('go right')
time.sleep(1)
pydirectinput.keyDown('left')
pydirectinput.keyDown('left')
pydirectinput.keyDown('left')
print('go left')
time.sleep(1)
pydirectinput.keyDown('space')
pydirectinput.keyUp('space')
print('space')
time.sleep(1)
pydirectinput.keyDown('space')
pydirectinput.keyUp('space')
print('space')
time.sleep(1)
pydirectinput.keyDown('space')
pydirectinput.keyUp('space')
print('space')
time.sleep(1)
pydirectinput.keyDown('space')
pydirectinput.keyUp('space')
print('space')
time.sleep(2)
if __name__ == '__main__':
time.sleep(2)
for i in range(0,10):
playGame()
当然这里只是抛砖引玉,还有更多的功能有待大家来挖掘,利用所学解放我们的双手来薅游戏的羊毛。
感谢大家的支持,希望得到大家的点赞关注,我们下期见。