用代码向 90 后逝去的青春致敬!

640?wx_fmt=gif

640?wx_fmt=jpeg

都说“陪伴是最长情的告白”,那些陪我们走过年少时光的小游戏,你还记得多少?

可能很多90后都玩过乐斗Ⅱ。但是很遗憾,今天的主角不是它,而是它的兄弟——“Q宠大乐斗”。本文分享如何让“Q宠大乐斗”自动运行,自动打游戏。

640?wx_fmt=png


640?wx_fmt=png

具体步骤


第一步:分析链接。因为直接使用网页动画版(也就是上图)网址的话,会有Flash动画,还有可能会因为网络问题而导致延迟,从而影响程序的运行。所以本文选择直接关注其公众号“Q宠大乐斗”,从开始游戏的接口进去,这样就可以进入文字版的游戏,减少不必要的网速占用。

第二步:通过审查元素找到相应的元素,使用selenium进行定位控制。

第三步:设置定时任务。让游戏脚本每天定时运行、游戏自动化,实现躺赢的最终理想,哈哈。


640?wx_fmt=png

注意事项


因为等级原因,有一些功能可能对低等级不开放,所以这个游戏需要“私人订制”。

有一些奖励是需要等到了一定的活跃度才可以领取,所以需要一定的游戏策略,否则就需要在程序中进行多次判断。


640?wx_fmt=png

代码书写


因为这个游戏的任务比较多,所以建议用分模块来写比较好。这样逻辑不会混乱,代码的可读性也会更强一点。

登录模块

640?wx_fmt=png

通过上图可以找出登录的元素位置,直接使用selenium进行登录操作。

640?wx_fmt=png

上面代码中的第14行是设置等待。直白一点就是:如果WebDriver没有在 DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常。

640?wx_fmt=gif

自动登录哦 :-)

其他模块

之前说过,等级不同任务也不同,所以我这里就放上几个共同的模块。具体的任务看下图:

640?wx_fmt=png

每日奖励模块

640?wx_fmt=png

乐斗好友模块

640?wx_fmt=png

其他的模块我这里就不放代码了,毕竟等级不一样,代码可能没有通用性。而且主要的方法就是定位元素,主要是设置等待时长和注意异常情况的判断处理就可以了。


640?wx_fmt=png

计划任务


具体的计划任务教程,可以参考《Python与win的完美结合--计划任务》一文。设置好时间,因为这个游戏的宠物是靠体力来进行的并且每天只能进行一次任务,所以每天定时打一次就可以了。


640?wx_fmt=png

最后


本文这个自动打游戏的demo,只是单纯地练习一下selenium操作。顺便回忆一下90后的生活,相信有一部分90后小时候还是玩过这个游戏的。

可能有人就觉得这游戏有点low(确实有点low),那我只能昧着良心回一句:哥玩的不是游戏,是情怀,懂不懂?

最后附上本文的源码链接,欢迎自取:

https://github.com/stormdony/python_demo/tree/master/QQ_Pet_Fight

作者:Don Lex。本文经授权转自Python绿洲,版权归对方所有。

640?wx_fmt=gif

640?wx_fmt=gif

猜你喜欢

转载自blog.csdn.net/csdnnews/article/details/81611824
90
今日推荐