0. 设计要求
设计一个迷宫寻宝游戏的程序,实现以下功能:
- 设计一个迷宫地图,包含墙壁、通道、宝藏和敌人。可以使用不同的字符表示地
图的各个元素。 - 程序随机生成迷宫地图,并在地图上随机放置宝藏和敌人。
- 玩家通过控制字符移动,尝试找到宝藏。玩家可以使用上、下、左、右四个方向
键控制移动。 - 程序判断玩家的移动,检测是否撞墙、走出地图边界、找到宝藏、碰到敌人。
- 程序根据玩家的移动情况给出相应的提示,如撞墙、走出边界、找到宝藏或继续
寻找宝藏。 - 敌人会随机移动并阻碍玩家的前进,玩家如果与敌人相撞,游戏失败。
- 提供计分功能,记录玩家寻找宝藏的次数,并在找到宝藏后展示最终结果。
- 玩家可以选择重新开始游戏或退出游戏。
要求: - 提供迷宫地图的大小自定义功能。可以设置为不同的行数和列数。
- 提供难度级别选择功能。提供不同的难度级别,如简单、中等和困难,难度级别
会影响迷宫的复杂度和敌人的行为。 - 敌人每次只能并且必须随机移动一个位置,但是敌人不能穿墙、不能走出边界、
不能触碰宝藏、不能与其他敌人相撞。 - 提供游戏存档和读档功能。玩家可以在游戏进行中保存进度,并在下次继续游戏
时加载之前的存档。
1. 程序设计
1)设计思想:
系统设计使用了QT来进行界面可视化,设计了三个界面分别作为程序的开始界面、难度选择界面和游戏界面,界面的类beginGame、choose、Map类继承自QDialog类。
beginGame类是开始界面的类,包括了两个行为,新创建一个游戏和读取存档两个功能,通过槽函数分别和界面中的两个QPushButton进行连接,当用户点击开始游戏界面中的“开始游戏”按钮时调用startGame函数打开选择游戏界面大小和难度的界面;当用户点击“读取存档”按钮时程序会从默认的位置处读取指