20行Python代码让程序自动玩“合成大西瓜”
最近的时间里,想必大家都被“合成大西瓜"这个游戏刷屏,无论是微博,还是B站,乃至是微信公众号,都有很多博主和up主们推荐。
合成大西瓜的游戏方式其实同《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()
小编我作为一个资深的小游戏的爱好者,当然不能错过这样的游戏,别的不说,这个游戏真的挺好玩的,根本让人停不下来。尤其是看到水果碰撞合成大水果时候的感觉,非常吸引人。
01.Python自动玩
今天我们用到的程序,只需要短短的20行代码,但是包含的内容却是非常的丰富。首先,我们来看一下代码:
上述的代码中,首先我们需要将浏览器设置为手机模式,因为这个游戏是基于手机平台进行玩耍的,只有在手机模式下我们才能正常的显示和操作游戏界面。
接下来程序将浏览器窗口大小设置为100x800大小,让整个的游戏界面更加贴近手机的感觉,浏览器打开游戏的页面,然后隐式的等待5秒钟,等待页面加载完成。
在run函数中,游戏每隔一秒钟就会有一个水果落下,而水果落下的位置则是由程序中的第19、20行程序随机生成的位置。如下图所示:
在上图中,红色区域就是程序模拟的随机点击的一个区域,每次程序都会模拟在这个区域中进行一个位置的选择,生成对应的(x_pos, y_pos)坐标。
程序的22行就是模拟鼠标的点击动作,点击我们随机选择的位置。然后水果就会落下。同时在第24行中,我们需要将模拟的鼠标回归到初始的位置,因为move_by_offset函数会在每次的位置移动时进行数值的累计,如果我们不回归到初始的位置,用不了几次,程序就会跳出上图中的红色区域,这样游戏也就无法继续下去。
本站(www.100xue.net)部分图文转自网络,刊登本文仅为传播信息之用,绝不代表赞同其观点或担保其真实性。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系(底部邮箱),我们将及时更正、删除,谢谢