我罗斯方块第一次作业
作业描述 | 详情 |
---|---|
这个作业属于哪个课程 | 2020面向对象程序设计 |
这个作业要求在哪里 | 我罗斯方块 |
这个作业的目标 | >发布一篇博客 >讲述你的设计,你选用的渲染方法 >整理你收集到的资料 >给出你的游戏界面示意图 >注意:请详细写出你需要的类,和类的成员函数与成员变量。 |
作业正文 | 如下 |
小组成员 | 031902535陈玉娜 031902537江舒颖 031902538李晓芳 |
参考文献 | 俄罗斯方块代码 俄罗斯方块实验报告(附源码) 百度百科渲染(计算机术语) 各种渲染方式对比解析 |
github 地址 | https://github.com/dump16/Tetris |
-
设计讲述
在设计游戏时,我们先查找网上有关俄罗斯方块游戏的相关资料,以及渲染、引擎等一些专业术语的含义等。在经过初步了解之后才开始正式进一步考虑游戏的构思等。在设计时,我们从游戏的基础元素一步一步往外拓展,逐渐完善。从方块类、玩家类、渲染类、游戏类,四个类来考虑游戏的基础功能。方块类主要是对方块的基础操作,包括基础速度、随机出现、旋转、加速、左右移动、消行、增行;玩家类主要是每一个玩家对应的键盘操作,wasd、↑↓←→对应游戏的功能实现;渲染类主要是染色、边框界面,7种方块7种颜色的设置,边框界面的大小、数量,界面元素等;游戏类主要是管理整个游戏,包括游戏的开始、结束、终止、暂停、判定结束、计分等。通过四个类一步步完善游戏功能。
-
基本功能
方块类
class Block{
public:
int shape; //形状
int color; //颜色
int speed; //速度
char locate[10][10]; //位置
int score; //得分
public:
void Creat(); //构造
void Random(); //随机出现
void Down(); //基础速度自动下落
bool IsAgain(); //边界判定及重合判定
void Move(); //移动
void Rotate(); //旋转
void Accelerate(); //加速移动
bool Judge(); //层满判定
void Eliminate(); //消行
void Add(); //增行
bool CheckWin//胜负判定
};
玩家类
class Player{
public:
public:
void Kbhit(); //键盘响应
void Hide(); //隐藏光标
};
渲染类
class Render{
public:
int height; //界面高
int width; //界面宽
int size; //界面大小
int color; // 界面颜色
char map[100][100]; //界面信息
public:
void Paint(); //绘制界面
void Update(); //更新界面
void Score(); //显示得分
};
游戏类
class Game{
public:
public:
void Welcome(); //欢迎界面
void Run(); //运行
void End(); //结束
void Over(); //结束界面
void Pause(); //暂停
void Continue(); //继续
void Exit(); //退出
void New(); //新游戏
};
-
渲染方法
控制台
-
游戏界面示意图