开发工具

Python版本:3.6.4

相关模块:

opencv-python模块;

numpy模块;

selenium模块;

pillow模块;

以及一些Python自带的模块。

环境搭建

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

原理简介

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

https://chromedino.com/

大概长这个样子:

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

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

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

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

'''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)。

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

小恐龙游戏python_自动玩Chrome浏览器的小恐龙游戏相关推荐

  1. chrome恐龙游戏java_自动玩Chrome浏览器的小恐龙游戏

    开发工具 Python版本:3.6.4 相关模块: opencv-python模块: numpy模块: selenium模块: pillow模块: 以及一些Python自带的模块. 环境搭建 安装Py ...

  2. 小恐龙游戏python_补一波之前说好的用DQN自动玩Chrome浏览器的小恐龙游戏呗~

    原文链接补一波之前说好的用DQN自动玩Chrome浏览器的小恐龙游戏呗~​mp.weixin.qq.com 效果展示 在cmd窗口运行如下命令即可: 模型训练: python TRexRush.py ...

  3. 自动玩一局4399钢琴小游戏

    自动玩一局4399钢琴小游戏 1.思路 a.准备一个自动操作的机器人 b.自动操纵鼠标点击游戏开始 ​ b1.鼠标定位到开始按钮那一行(截图软件截到对应坐标) ​ b2.循环点击该行,保证开始按钮被鼠 ...

  4. 小恐龙游戏python_用Python实现谷歌的小恐龙游戏:p

    Python版本:3.6.4 相关模块: pygame模块: 以及一些python自带的模块. 环 境 搭 建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 先 睹 为 快 在终端 ...

  5. Python自动检测Chrome浏览器版本号并下载对应驱动文件[chromedriver.exe]

    说明 实现原理是当使用的chromedriver.exe与当前Chrome浏览器版本不一致时会抛出异常,在异常信息中会包含当前Chrome版本信息和Chrome浏览器安装地址信息,通过捕获异常信息,正 ...

  6. selenium 自动打开Chrome浏览器且重复使用已打开的Chrome实例

    好处还能有啥?就是偷懒呗,打开脚本就跑,还管浏览器干啥. 如何使用已打开Chrome,其他文章讲很多了,也不多说,这里主要参考的这片文章 selenium 使用已打开的chrome浏览器_YeLang ...

  7. Chrome浏览器设置小窗口视频

    快捷工具先安装1.28版本后用1.31版本替换,以实现视频弹窗和双击关闭标签页功能. 首先下载Chrome扩展快捷工具1.28版的CRX安装包:http://pan.baidu.com/s/1pJ4T ...

  8. html5游戏刷分,google chrome浏览器离线小恐龙游戏刷分bug

    搜索热词 F12打开开发者工具->console->输入如下代码,分数要多少有多少 Runner.instance_.setSpeed(99999); 试试 瞬间 满分 window.te ...

  9. 恐龙跳一跳游戏python_【Python】Python代码制作”恐龙跳一跳”小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 相关文件 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理介绍 ...

  10. 计算机自带游戏纸牌怎么玩,电脑上自带的游戏是怎么玩的,【红心大战】,【空当接龙】,【纸牌】都是怎么玩的啊...

    满意答案 coffee55 2013.03.13 采纳率:43%    等级:12 已帮助:11074人 "红心大战"的玩法 选出三张牌传给其他对手(第四局不传牌).如要选牌,单击 ...

最新文章

  1. 研究生的早期科研之路
  2. Sharepoint 2010 隐藏基本搜索中心搜索结果左侧的分类条件
  3. centos安装python3.5和pip
  4. 三星副会长李在镕启程赴美
  5. 【Java】关于Java编程软件idea快捷键的使用
  6. ashx实现ajax功能遇到的浏览器缓存问题
  7. 服务器系统小米随身wifi,Mac OS10.13正常使用的小米随身WIFI无线驱动 | 陳松's 博客...
  8. 淘宝运营 淘宝客的模式 、优点以及推广方案
  9. java课程设计 博客园_201521123098 JAVA课程设计
  10. 博途V15.1激活工具出错。
  11. android tv outofmem,java.lang.OutOfMemoryError:尝试抛出OutOfMemoryErr...
  12. IOS音视频(一)AVFoundation核心类
  13. 存储误删除所有lun的数据恢复方法
  14. 山东省有哪些计算机专业大学排名,山东人工智能专业大学排名
  15. css 弹出窗口之后的笼罩层
  16. java 中的空格符、换行符等怎么表示
  17. 综述 词向量与分布式表示
  18. 谷歌眼镜设计规范之UI设计原则
  19. 华维单片机编程-无线红外探测器01-产品简介和功能需求
  20. PL/pgSQL 表达式

热门文章

  1. 实战Kaggle比赛(二)——房价预测
  2. python阿拉伯数字转中文_阿拉伯数字转换成中文的python代码
  3. 《赖氏经典英语语法》第二集
  4. fild与fmul的问题
  5. 关于Echarts官网httpsecharts.apache.org打不开的解决方案
  6. OPENWRT,爱快等软路由推荐
  7. Android面试准备复习之Android知识点大扫描
  8. 【北京邮电大学计算机考研资料汇总大全】
  9. 腾讯云cdn怎样接入域名
  10. 钓鱼网站检测技术的演进