基于python的ai围棋_基于Python的Flash游戏人工智能

本文介绍了如何使用Python创建一个简单的框架,模拟用户操作在Flash游戏‘混战2’中进行游戏。通过xdotool获取游戏坐标,实现点击游戏、按空格开始、按向上键控制飞机,形成无限循环,展示了一种基础的AI游戏控制方式。
摘要由CSDN通过智能技术生成

基于python的ai围棋

“混战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发行版一起提供,请输入:

sudo apt-get安装xdotool

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

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

xdotool getmouselocation

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

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

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


import subprocess
import time 
# get focus and click
subprocess.call(["xdotool","mousemove","440","661"]) # use subprocess to call xdotool from python
subprocess.call(["xdotool","click","1"])
time.sleep(3) 
# press fire (space) to start the program
subprocess.call(["xdotool","keydown","space"])
time.sleep(1)
subprocess.call(["xdotool","keyup","space"])   
# key pushing the up key to make the plane roll
while(True):
 # each second press the up cursor key
 subprocess.call(["xdotool","keydown","Up"])
 time.sleep(1)
 subprocess.call(["xdotool","keyup","Up"]) 
# runs until you press Ctrl-Z 
而已! 它撞上地面之前只做了两次循环。 它可以扩展,例如,我们可以找出飞机的位置,使其一直射击,等等。
附加图片
文件类型:jpg point1b.jpg (43.4 KB,1292观看次数)

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

基于python的ai围棋

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值