chrome恐龙游戏java_自动玩Chrome浏览器的小恐龙游戏
发布日期:2021-06-24 01:38:57 浏览次数:10 分类:技术文章

本文共 1395 字,大约阅读时间需要 4 分钟。

开发工具

Python版本:3.6.4

相关模块:

opencv-python模块;

numpy模块;

selenium模块;

pillow模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

原理简介

T-Rex Rush是谷歌浏览器里自带的一个彩蛋小游戏,电脑断网的时候按下空格键就可以触发。或者直接访问如下链接也可以:

大概长这个样子:

dd2f2968ff85

image.png

玩法很简单,玩家通过操纵空格键来控制小恐龙跳跃或者不跳跃,从而躲避路上的障碍物。当小恐龙不小心撞到障碍物时,游戏结束。

今天我们直接设计一个简单的策略,就可以轻松实现上万的跑分:

dd2f2968ff85

image.png

具体而言,你只需要每次截取小恐龙前面的图像区域,然后检测一下是否有障碍物出现就ok了:

dd2f2968ff85

image.png

具体而言,截取图像的函数实现如下:

'''screenshot'''

def screenshot(self, area):

image_b64 = self.driver.execute_script("canvasRunner = document.getElementById('runner-canvas'); return canvasRunner.toDataURL().substring(22)")

image = Image.open(BytesIO(base64.b64decode(image_b64))).convert('RGB')

image = image.crop(area)

return image

根据截图来生成小恐龙当前需要进行的动作的智能体实现如下:

'''agent'''

class Agent():

def __init__(self, bbox_area, **kwargs):

self.bbox_area = bbox_area

self.bg_color = 255

self.reference_frame = np.full((bbox_area[3]-bbox_area[1], bbox_area[2]-bbox_area[0], 3), self.bg_color)

'''return action according to the game frame'''

def act(self, frame):

action = [1, 0]

frame = np.array(frame)

if self.bg_color != frame[0][0][0]:

self.bg_color = frame[0][0][0]

self.reference_frame = np.full((self.bbox_area[3]-self.bbox_area[1], self.bbox_area[2]-self.bbox_area[0], 3), self.bg_color)

diff = np.subtract(self.reference_frame, frame).sum()

if diff != 0:

action = [0, 1]

return action

虽然听起来很简单,但是实际效果还是蛮不错的(除了有时候植物连在一起的话判断会出问题T_T)。

完整源代码详见相关文件呗~

转载地址:https://blog.csdn.net/weixin_29306261/article/details/115062878 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php模板开发教程,模板制作快速入门
下一篇:adaboost算法java_Boosting / AdaBoost —— 多级火箭助推

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年03月29日 07时55分01秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

最好吃的8款粽子,看看有没有你家乡的! 2019-04-25
端午前后湿热当道,这些祛湿的好方法一定要收好 2019-04-25
最好吃的8款粽子,看看有没有你家乡的! 2019-04-25
端午前后湿热当道,这些祛湿的好方法一定要收好 2019-04-25
九巨龙集团被授予“2020年全市疫情防控慈善捐助企业楷模” 2019-04-25
清徐老陈醋签约盒马与数字乡村特色新品战略合作 2021-06-28
视听·封报丨5G发展带来哪些改变?“虚拟偶像”成为追星新潮流 2021-06-28
最好吃的8款粽子,看看有没有你家乡的! 2021-06-28
第10届上海尚品家居展实力来袭,优质生产型企业加持核心优势 2021-06-28
丁磊:高合汽车下个月交付过千,刷新纪录 2021-06-28
2021乌拉盖旅游推介会暨“爱上草原”云平台发布仪式 2021-06-28
博仲兴业力作——《爱的雨季》讲述爱情的奥秘 2021-06-28
墨斗互动公益助力山西大学 毕业季,青春无畏,逐梦扬威 2021-06-28
中品丝路:在重要场所讲好中国品牌故事 2021-06-28
夏日狂欢 — BODY JAZZ两周年庆典———若水,以柔见世界 2021-06-28
京东品牌联盟:618品牌狂欢盛典-品宣销售再创历史新高 2021-06-28
五色新丝缠角粽 粽享孝养温情|九巨龙孝养城带您粽情一夏 2021-06-28
九巨龙这两学校竟麦浪滚滚!太美!太用心! 2021-06-28
高端内存的由来(为什么需要高端内存) 2021-06-28
Android 第三方分享 ShareSDK 回调不成功问题 2021-06-28