python flash游戏_基于Python的Flash游戏人工智能

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

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

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

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

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

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

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

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

c618ea153667924643fb87bdeceb4aab.png

您可能需要安装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

而已!

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

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

附加图片

36eaf2e4ae5d435cd70e7ca16b5b1fd2.png

point1b.jpg (43.4 KB,1269观看)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值