牛逼啦!20行Python代码让程序自动玩“合成大西瓜”

牛逼啦!20行Python代码让程序自动玩“合成大西瓜”

最近的时间里,想必大家都被“合成大西瓜"这个游戏刷屏,无论是微博,还是B站,乃至是微信公众号,都有很多博主和up主们推荐。

以下代码均为部分源码,完整源码在这里关注小编,并私信“01”领取。

合成大西瓜的游戏方式其实同《2048》游戏非常的类似,都是相同的水果碰撞到一起后,就能合成一个更大的水果,通过不断的碰撞来积累分数,看谁能够达到更高的分数游戏。作为一款简单而有趣的小游戏,非常适合大家平时的休闲和娱乐。

#!/usr/bin/python# -*- coding: UTF-8 -*-# 谷歌浏览器驱动from selenium import webdriver# sleep模块,让程序停止往下运行from time import sleep# 操作链from selenium.webdriver.common.action_chains import ActionChains# 导入 random(随机数) 模块import random# 手机模式加载谷歌浏览器mobile_emulation = {'deviceName': 'iPhone 5'}options = webdriver.ChromeOptions()options.add_experimental_option("mobileEmulation", mobile_emulation)driver = webdriver.Chrome(chrome_options=options)# 设置浏览器大小driver.set_window_rect(0,0,700,700)sleep(1)# 打开设定的网址driver.get('https://dushusir.com/xigua')# 隐式等待driver.implicitly_wait(5)while(True):        # 随机取位置    randomX = random.randint(20,300)    randomY = random.randint(200,300)    print('click')    # 设定点击位置      ActionChains(driver).move_by_offset(randomX, randomY).click().perform()    # move_by_offset会累计上一次的位置,点击完重置    ActionChains(driver).move_by_offset(-randomX, -randomY).perform()    sleep(1)# driver.quit()
牛逼啦!20行Python代码让程序自动玩“合成大西瓜”

小编我作为一个资深的小游戏的爱好者,当然不能错过这样的游戏,别的不说,这个游戏真的挺好玩的,根本让人停不下来。尤其是看到水果碰撞合成大水果时候的感觉,非常吸引人。

01.Python自动玩

今天我们用到的程序,只需要短短的20行代码,但是包含的内容却是非常的丰富。首先,我们来看一下代码:

牛逼啦!20行Python代码让程序自动玩“合成大西瓜”

上述的代码中,首先我们需要将浏览器设置为手机模式,因为这个游戏是基于手机平台进行玩耍的,只有在手机模式下我们才能正常的显示和操作游戏界面。

接下来程序将浏览器窗口大小设置为100x800大小,让整个的游戏界面更加贴近手机的感觉,浏览器打开游戏的页面,然后隐式的等待5秒钟,等待页面加载完成。

在run函数中,游戏每隔一秒钟就会有一个水果落下,而水果落下的位置则是由程序中的第19、20行程序随机生成的位置。如下图所示:

牛逼啦!20行Python代码让程序自动玩“合成大西瓜”

在上图中,红色区域就是程序模拟的随机点击的一个区域,每次程序都会模拟在这个区域中进行一个位置的选择,生成对应的(x_pos, y_pos)坐标。

程序的22行就是模拟鼠标的点击动作,点击我们随机选择的位置。然后水果就会落下。同时在第24行中,我们需要将模拟的鼠标回归到初始的位置,因为move_by_offset函数会在每次的位置移动时进行数值的累计,如果我们不回归到初始的位置,用不了几次,程序就会跳出上图中的红色区域,这样游戏也就无法继续下去。

最后多说一句,小编是一名python开发工程师,这里有我自己整理的整套python学习资料和路线,想要这些资料的都可以关注小编,并私信“01”领取。

未经允许不得转载:技术 » 牛逼啦!20行Python代码让程序自动玩“合成大西瓜”

相关推荐