- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人工智能应用导论实验手册-FlippyBird游戏实验手册--第1页
FlippyBird游戏实验手册
4.4 任务三:FlippyBird 游戏
4.4.1 任务目标
本项目通过对强化学习让计算机自己玩游戏。通过构建模型训练计算机玩游戏能力,模
型训练输入数据包括游戏的每一帧的图像、小鸟的动作列表(跳跃、无操作)、计算机做出动
作之后的 reward、游戏是否结束的标志。计算机获得的信息其实和人类玩家是一样的,模
拟人类行为进行深度学习网络模型训练与应用,让计算机学会自己玩游戏,项目通过分步从
flappy bird 游戏渲染、手动控制、模型构建、模型训练、自动玩游戏过程,使读者能够:
(1)体验一个完整的强化学习算法让计算机自己玩游戏。
(2)掌握游戏设计与强化学习相结合的基本用法。
4.4.2 任务实现
步骤一:运行与体验 flappy bird 游戏
flappy bird 是一款简单又困难的手机游戏。Flappy Bird 比较流行,游戏需要控制一
只不断下降的小鸟来穿越障碍物,点击屏幕则让小鸟上升一段距离,不点击屏幕小鸟继续下
降,若小鸟碰到障碍物或地面,则游戏失败。请同学们运行 FlapPyBird_game/flappy.p
代码,这个是 flappy bird 游戏,通过键盘控制看看自己玩游戏分值。
步骤二:游戏渲染
游戏是通过以帧为单位进行渲染,下面程序将实现一帧的游戏的展示。
通过运行代码:1run_game.py,得到初始的游戏界面展示。运行程序结果如图4-49 所示:
图4-49 游戏帧渲染
步骤三:游戏动作控制与界面图像输出
人工智能应用导论实验手册-FlippyBird游戏实验手册--第1页
人工智能应用导论实验手册-FlippyBird游戏实验手册--第2页
在步骤二进行一帧的游戏,但是在此过程一直没有动作输入,小鸟飞行是不受控制,而
函数 game_state.frame_step(a_t)中参数a_t 就是传入游戏的中动作。
如果 a_t[0] = 1 那么不鸟不进行跳动作,如果 a_t[1] = 1 ,小鸟将进行跳动作,因此程
序在后续所有帧中一直执行为跳动作。
通过运行代码:2game_action.py,得到固定的游戏动作控制,运行程序结果如图4-50
所示:
图4-50 游戏一直执行跳动作
步骤四:游戏键盘控制
为了实现能够通过键盘来控制小鸟的跳动作,因此采用 event.type 来监听键盘的响应,
当输入为向下、空格 、向上时,将a_t[1] 置为 1,执行跳动作,其他输入保持默认不执行
跳 动 作 , 这 样 就 可 以 实 现 键 盘 控 制 游 戏 中 的 小 鸟 动 作 。 另 外 还 可 以修 改
game/flappy_bird_utils.py 文件中代码来实现游戏背景图片的更新,具体为:
原来代码:BACKGROUND_PATH = assets/sprites/background-black.png
修改后代码:BACKGROUND_PATH = assets/sprites/background-day.png
运行代码:3play_game.py,得到通过键盘控制的游戏,代码中主要添加了如下关键代
码:
for event in pygame.event.get():
if event.type == QUIT or (event.type== KEYDOWN and event.key == K_ESCAPE):
pyga
文档评论(0)