使用广义方向宽度优先搜索的吃豆人游戏实现

需积分: 0 0 下载量 159 浏览量 更新于2024-08-05 收藏 1.25MB PDF 举报
"高程课设三_171840708_张逸凯1" 这个项目是一个基于广义方向宽度优先搜索(Generalized Bidirectional Search, GBS)的吃豆人小游戏,由171840708号学生张逸凯完成。游戏采用Qt5框架进行面向对象程序设计,旨在实现一个具有良好图形用户界面(GUI)的小游戏,具有动感画面、丰富的游戏内容和流畅的操作体验。 项目主要内容包括以下几个方面: 1. **操作指南**:玩家通过方向键控制黄色的吃豆人移动,目标是吃掉地图上的所有黄色豆豆。当吃豆人碰到绿色豆豆时,怪兽会被中毒,需要回到特定的复活点才能恢复对吃豆人的攻击。吃豆人遇到怪兽会损失生命值,而不同颜色的怪兽会有不同的追逐策略。 2. **游戏元素**:游戏中随机出现的大礼物,如苹果和爱心,可以为玩家带来奖励。当怪兽中毒时,它们会呈现特定状态,需要返回红色复活点。游戏结束后,玩家可以看到胜利或失败的画面,得分足够高则表示获胜。 3. **音乐与音效**:游戏过程中有背景音乐“FunkyDrums”和怪兽的特殊音效,增加了游戏的趣味性和沉浸感。 在**项目整体架构**中,设计遵循了Qt5的逻辑,确保了模块间的低耦合度和高内聚性。各个对象,如吃豆人和怪兽,都有特定的行为方法。怪兽的运动路径规划采用了GBS算法,这是一种优化的宽度优先搜索(BFS)策略,用于动态确定怪兽追赶吃豆人的最优方向。 **面向对象设计**:游戏中的对象,如吃豆人和怪兽,都是通过多态性来调用其特定行为的。这些对象的状态改变会记录在全局的map中,其他对象根据这些变化作出相应反应。例如,吃豆人或怪兽的生命值变化、中毒或解毒等状态更新。 **游戏主循环**:游戏的核心在于处理各种事件和对象的交互,包括用户输入、对象行为更新以及场景渲染。为了实现游戏的动态性,开发者需要精心设计每个对象的方法,并结合GBS算法来优化怪兽的决策过程。 **加分项**:项目不仅完成了基本的游戏功能,还引入了广义方向宽度优先搜索,使得怪兽的追击策略更加智能。这种算法能适应吃豆人和怪兽位置的变化,有效地计算出下一步的最佳行动方向。 该项目展示了对游戏开发和算法应用的深入理解,特别是在面向对象编程和游戏逻辑设计上的技巧。通过使用GBS算法,提高了游戏的策略性和挑战性,同时,Qt5框架的应用保证了游戏的跨平台性和用户界面的高质量。