访问【WRITE-BUG数字空间】_[内附完整源码和文档]
玩家目标是吃掉所有豆豆,途中,若玩家撞到怪兽则游戏结束。游戏中存在超级豆子,吃到后,所有怪兽静止,且玩家进入无敌状态(可撞怪兽使之回到初始位置)。玩家可使用键盘方向键进行选择、控制移动,回车键确定,Esc 键返回,空格键暂停。
控制台小游戏——吃豆豆
一、概述
1.1 主要内容:
以吃豆豆大作战基础参考,实现了运行在 Windows 控制台下的一个吃豆豆小游戏。玩家目标是吃掉所有豆豆,途中,若玩家撞到怪兽则游戏结束。游戏中存在超级豆子,吃到后,所有怪兽静止,且玩家进入无敌状态(可撞怪兽使之回到初始位置)。玩家可使用键盘方向键进行选择、控制移动,回车键确定,Esc 键返回,空格键暂停。
1.2 已实现的目标:
- 地图支持自定义编辑(可编辑地图中的:空地、墙、豆子、超级豆子、小怪初始位置及数量、吃豆人初始位置)
- 可选择游戏难度(即设定不同的小怪移动速度)
- 怪兽可追踪吃豆人位置,往吃豆人的所在位置靠近
- 可查看历史记录 TOP 10,并且可对游戏记录进行回放
- 在回放的过程中,支持按下方向键后,退出回放模式,在当前情形下,操纵吃豆人,进入正常的游戏模式,继续游戏
- 有用户友好的 UI 界面(比如:吃到超级豆子后吃豆人变彩色闪烁,且下方显示进度条倒计时;选择界面高亮显示选项)
二、主要类的设计
2.1 依次介绍各个类的设计:
Position 类
由于是在控制台下实现本游戏,所以显示界面的所有元素都是字符,而一些较为美观,且符合游戏中的元素的特殊字符一般都是 2 个英文字符的宽度,所以这里界面设计的主要思想使将整个控制台运行窗口看成一个二维的画布,横坐标以每两个英文字符的宽度为单位,纵坐标则以每行为单位。
而有了画布之后,画布上的每一个点其实可以看作一个数据结构,这就是 Position 类的意义。
标签:豆子,怪兽,方向键,游戏,C++,玩家,小游戏,控制台 From: https://blog.51cto.com/u_16075443/6215722