【深圳大学计算机游戏开发】实验5 游戏中的人工智能
实验中也有遇到不少问题,比如音乐无法播放,不管怎么修改代码都不行。查阅资料后猜测可能是需要标准的mp3格式,而我的是通过修改flac文件后缀得来的,虽然电脑能播放,但难免说不定播放器自身优化过。修改游戏代码,实现修改内容二,即增加DANGEROUS区域。修改游戏代码,实现修改内容二,即增加DANGEROUS区域。修改游戏代码,实现修改内容一,即修改窗口大小。修改游戏代码,实现修改内容三,即增加按键
一、实验目的与要求
1. 理解A*寻路算法原理。
2. 进一步熟悉地图编辑器的使用。
3. 实现游戏中的人工智能。
二、实验内容与方法
1.完成游戏编译(5分)
成功编译并运行教材P200“游戏AI实例-迷宫寻宝”。
2.完成修改内容一 (5分)
修改游戏代码,实现修改内容一,即修改窗口大小。
3.完成修改内容二 (10分)
修改游戏代码,实现修改内容二,即增加DANGEROUS区域。
4.完成修改内容三 (10分)
修改游戏代码,实现修改内容三,即增加按键监听。
5.完成修改内容四 (10分)
修改游戏代码,实现修改内容四,即增加地图层次。
6.完成Bug修改(10分)
通过更改游戏代码的方式修复BUG,如:点击笑脸出现“No Way” 和“Found Treasure”的叠加。
7.添加配乐、音效(5分)
为游戏添加配乐、音效。
8. 游戏优化升级(5分)
自行发挥想象力,优化游戏功能。
9.完成实验报告 (40分)
截图记录关键步骤,分析实验结果,撰写心得体会。
三、实验步骤与过程
1.完成游戏编译(5分)
成功编译并运行教材P200“游戏AI实例-迷宫寻宝”。
导入class和resources文件后编译运行。



2.完成修改内容一 (5分)
修改游戏代码,实现修改内容一,即修改窗口大小。
在AppDelegate.cpp中修改窗口大小


3.完成修改内容二 (10分)
修改游戏代码,实现修改内容二,即增加DANGEROUS区域。
修改地图,添加危险区域——石头

在aStar.h中添加节点的状态

在MazeScene.cpp中将石头设为危险区域

在路径数组的结构体中新增danger变量。

如果经过危险区域则中断搜索

输出危险的提示

运行代码,如图所示

4.完成修改内容三 (10分)
修改游戏代码,实现修改内容三,即增加按键监听。
在MazeScene.h添加函数声明

在MazeScene.cpp的init函数中添加监听

仿照屏幕触摸监听器编写函数

判断是否敲击R键,若敲击则创建新场景替换当前场景。

5.完成修改内容四 (10分)
修改游戏代码,实现修改内容四,即增加地图层次。
编辑新地图

设置楼层数变量来确定加载哪一张图

在路径中添加判断是否踩到传送锚点

若踩到传送锚点,则进行传送

6.完成Bug修改(10分)
通过更改游戏代码的方式修复BUG,如:点击笑脸出现“No Way” 和“Found Treasure”的叠加。
在禁止的判断条件中加上不允许点击笑脸图标位置即可。

7.添加配乐、音效(5分)
为游戏添加配乐、音效。
添加头文件和命名空间

添加背景音乐

添加成功找到路径音效

添加触碰危险区域和传送音效

8. 游戏优化升级(5分)
自行发挥想象力,优化游戏功能。
在运行中发现当成功寻宝后再经过危险区域不会提示dangerous,分析后发现危险区域的设定放在地图初始化函数时,再次运动时会被重置。因此,应该把危险区域的设定放在路径函数中。

四、实验结论或心得体会
通过此次实验,加深了对地图切换、A*算法、音效编辑和使用等cocos2d的内容的了解。
实验中也有遇到不少问题,比如音乐无法播放,不管怎么修改代码都不行。查阅资料后猜测可能是需要标准的mp3格式,而我的是通过修改flac文件后缀得来的,虽然电脑能播放,但难免说不定播放器自身优化过。下载标准mp3格式后,发现能正常播放了。
(by 归忆)
更多推荐




所有评论(0)