我罗斯方块1
| 这个作业属于哪个课程 | 2020面向对象程序设计张栋班 |
|---|---|
| 这个作业要求在哪里 | 我罗斯方块 |
| 这个作业的目标 | 讲述设计,选用的渲染方法,收集到的资料,游戏界面示意图 |
| 项目地址 | https://github.com/qhl1/Tetris |
| 其他参考文献 | GreedySnake、C++入门系列博客七 俄罗斯方块小游戏制作、新手向C++俄罗斯方块教程 |
| 小组成员 | 学号 |
| 邱翰林 | 031903121 |
| 卢梦晗 | 031903145 |
| 阿亚库仔·卡哈尔曼 | 031903137 |
界面示意图:

设计:
游戏规则
1.按键功能:
- W&↑:方块转向
- A&←:方块左移
- S&↓:方块下移
- D&→:方块右移
2.通用规则:
3.双人模式增添规则:
- 可选择一名或两名玩家
- 当一名玩家消去一行,就会让另一名玩家最底下随机增添一行
- 消去一行的玩家增加分数
类的设计
1.方块类
-
成员变量
种类:
int type;颜色:
int color;- 说明:
方块种类七种,
![]()
7用4x4方格表示,5用2x2表示
其余均为3x3(为了方便判断边缘时是否可以旋转)
⇧ --->变换形状
⇩ --->加速下落
⇦ --->左移
⇨ --->右移
-
成员函数
初始化形状和颜色:
void init_block();能够自己下落:
void auto_fall();玩家控制加速下落:
void fall();玩家控制旋转:
void rotate();玩家控制方向:
void directions();移动时不能超出边缘,触底时停止移动
void stop();
2.玩家类
-
成员变量
名称:
string name;得分:
int score;
-
成员函数:
输入名称:
void name_input();增加得分:
void add_score();判断是否为最高分:
void is_highest_score();
3.渲染类
单人双人对战板块
4.游戏类
-
成员变量
模式(双人或单人):
bool model;状态:
int status;
-
成员函数
判断双人/单人:
void player_num();开始、结束、暂停、重开
void gansha(int status);一名玩家消去一行,就会让另一名玩家最底下随机增添一行
游戏流程设计
选择单人/双人模式
输入姓名
初始化界面:
边框:
高度:BLOCK_HEIGHT 20个小方格
宽度:BLOCK_WIDTH 10个小方格
侧框:
姓名
分数
操作方法
最高纪录
开始游戏
结束游戏


浙公网安备 33010602011771号