“混战2”是在坚如磐石的街机处基于Flash的双翼飞机游戏。

http://www.rocksolidarcade.com/games/dogfight2/

制作一个可以为我们玩混战游戏的python程序(人工智能(AI))不是很酷吗?

意识到制作一个高效的AI来玩这样的游戏是一项非常艰巨的任务,我决定创建一个简单的框架来启动游戏并循环飞行直到飞机坠落到地面。

首先,关于环境的一些话。 我使用了已安装google chrome的Ubuntu vmware映像。

我要做的第一件事是使用以下地址启动chrome浏览器:

http://www.rocksolidarcade.com/games/dogfight2/

我们要制作一个程序,用鼠标左键单击混战游戏以获取焦点,然后等待一秒钟左右。 为了弄清楚混战游戏的坐标是什么,我们使用终端窗口中的xdotool(请参见下图)

您可能需要安装xdotool,因为默认情况下Linux发行版中可能没有随附的xdotool,请输入:

sudo apt-get安装xdotool

安装完成后,将鼠标移到混战游戏上。 不要点击! 实际上,根本不要移动鼠标!

在终端窗口的键盘上键入以下内容,该窗口仍应具有焦点。

xdotool getmouselocation

混战告诉我们通过按“开火”开始游戏。 在您的计算机上,“ fire”将是“ space”,但是您不会自己按下fire,python progam应该为您做到这一点。

从概念上讲,该程序将很简单:首先,您的程序将单击Dogfight游戏以获取焦点,然后按空格键开始游戏,然后等待一秒钟,然后按向上键将飞机引导到目标位置。环。 最后一部分将是无限循环

下面是一个示例python程序,它可以做到这一点

import subprocessimport time# get focus and clicksubprocess.call(["xdotool","mousemove","440","661"]) # use subprocess to call xdotool from pythonsubprocess.call(["xdotool","click","1"])time.sleep(3)# press fire (space) to start the programsubprocess.call(["xdotool","keydown","space"])time.sleep(1)subprocess.call(["xdotool","keyup","space"])# key pushing the up key to make the plane rollwhile(True):# each second press the up cursor keysubprocess.call(["xdotool","keydown","Up"])time.sleep(1)subprocess.call(["xdotool","keyup","Up"])# runs until you press Ctrl-Z

而已!

它没有做任何事情,可能循环了两次,然后撞到了地上。

它可以扩展,例如,我们可以找出飞机的位置,使其一直射击,等等。

附加图片

point1b.jpg (43.4 KB,1269观看)

From: https://bytes.com/topic/python/insights/949504-python-based-artificial-intelligence-flash-game

python flash游戏_基于Python的Flash游戏人工智能相关推荐

  1. 大学计算机基础python学多久_基于Python 的“大学计算机基础”课程教学设计

    基于Python 的"大学计算机基础"课程教学设计 日期:2018-04-11 04:32 摘要 培养非计算机专业大学生的计算思维能力,在"大学计算机基础"课程 ...

  2. python 英语分词_基于Python NLTK库进行英文文本预处理

    文本预处理是要文本处理成计算机能识别的格式,是文本分类.文本可视化.文本分析等研究的重要步骤.具体流程包括文本分词.去除停用词.词干抽取(词形还原).文本向量表征.特征选择等步骤,以消除脏数据对挖掘分 ...

  3. python回归算法_基于Python的函数回归算法验证

    看机器学习看到了回归函数,看了一半看不下去了,看到能用方差进行函数回归,又手痒痒了,自己推公式写代码验证: 常见的最小二乘法是一阶函数回归 回归方法就是寻找方差的最小值 y = kx + b xi, ...

  4. python编码尺寸_基于Python批量生成指定尺寸缩略图代码实例

    这篇文章主要介绍了基于Python批量生成指定尺寸缩略图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近我们商城上架的应用越来越丰富了. ...

  5. cv2 python 获取斑马线_基于python的opencv图像处理实现对斑马线的检测示例

    基本思路 斑马线检测通过opencv图像处理来进行灰度值转换.高斯滤波去噪.阈值处理.腐蚀和膨胀后对图像进行轮廓检测,通过判断车辆和行人的位置,以及他们之间的距离信息,当车速到超过一定阈值时并且与行人 ...

  6. python词频作图_基于Python的词频分析与云图生成

    近期,学校对呼和浩特市第二中学学生特质进行了调查,具体题目为"用关键词描述一下二中学生的特质(尽量在20字以内)". 为了更好的展示调查结果,我们基于Python的jieba库和w ...

  7. 基于python爬虫数据处理_基于Python爬虫的校园数据获取

    苏艺航 徐海蛟 何佳蕾 杨振宇 王佳鹏 摘要:随着移动时代的到来,只适配了电脑网页.性能羸弱的校园教务系统,已经不能满足学生们的移动查询需求.为此,设计了一种基于网络爬虫的高实用性查询系統.它首先通过 ...

  8. 基于python的网站_基于Python的网站爬虫应用研究

    基于 Python 的网站爬虫应用研究 陈清 [期刊名称] <通讯世界> [年 ( 卷 ), 期] 2020(027)001 [摘要] 如何于海量的互联网网站中获取有用资源信息 , 对网站 ...

  9. python点名代码_基于python tkinter的点名小程序功能的实例代码

    基于python tkinter的点名小程序功能的实例代码,花名册,次数,窗口,未找到,初始化 基于python tkinter的点名小程序功能的实例代码 易采站长站,站长之家为您整理了基于pytho ...

  10. python traceback 丢失_基于python traceback实现异常的获取与处理

    这篇文章主要介绍了基于python traceback实现异常的获取与处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.traceback.p ...

最新文章

  1. %matplotlib inline的含义
  2. 为保障处理器平稳运行请“三知”cpu
  3. iOS中改变部分字体颜色
  4. UIPasteboard
  5. 数据库软件dbForge Studio for MySQL更新至v.6.1
  6. 美丽的窗花java分形_“高冷奇葩”原来冰窗花可以这么美
  7. 【渝粤教育】电大中专跨境电子商务理论与实务 (30)作业 题库
  8. USGS SWB模型
  9. python猴子偷桃问题_java猴子偷桃问题
  10. iphone怎样关闭副屏_机情烩:联通eSIM主副卡业务上线 副卡套餐最低仅10元
  11. 台积电市值超越 IBM,蓝色巨人为何成长不再?
  12. 百度云 php api接口调用 签名计算
  13. 西安的IT要怎么才能发展?
  14. Linux----SUID提权复现
  15. vue样式中背景图片路径_vue-cli3.0全局less样式中该如何正确设置背景图片的路径?...
  16. 9 个习惯助你在新的一年更有精力
  17. ubuntu安装Qt5.12
  18. DEV C++与木马病毒
  19. Kubernetes是什么?
  20. 质量基础设施一站式服务平台建设,NQI线上系统开发方案

热门文章

  1. LeetCode 1055. 形成字符串的最短路径
  2. 线上收单和线下收单的区别
  3. 详解线上线下收单业务(2)
  4. java毕业设计餐饮类网站Mybatis+系统+数据库+调试部署
  5. 持续交付和DevOps是一对好基友
  6. 微博营销的优劣势。如何利用微博开展营销。
  7. C语言基础之十进制与二进制转换
  8. 生活中的算法的实际举例_算法在实际生活中的应用
  9. python怎么写阶乘_python阶乘怎么写
  10. SSD硬盘无法格式化怎么办