这个作业属于哪个课程 | 面向对象程序设计2020 |
---|---|
这个作业的要求在哪里 | 我罗斯方块 |
这个作业的目的 | 实现游戏我罗斯方块,熟悉面向对象编程方法 |
作业正文 | 我罗斯方块 |
其他参考文献 |
(第一次做项目,暂时只能想到这么多,后续会继续补加。
还有好多东西还不会实现,正在找资料,欢迎各位大佬提供建议
暂时没找到组队的队友,┭┮﹏┭┮)
一.游戏内容
基础内容与俄罗斯方块一样。
俄罗斯方块
区别在于,我罗斯方块是同屏幕,双人对战游戏,双方一人使用 wasd ,一人使用上下左右控制,当一名玩家消去一行,就会让另一名玩家最底下增加随机一行。
详细
以玩家一为例,AD 控制方块左右移动,W 转换方块朝向,S 快速下落,使得方块落到底端。当玩家方块填满一整行时,会消除这行方块,然后使得玩家二的方块底部随机增加一行带空格的。玩家二同理。当一名玩家方块高度达到一个高度时就会结束游戏,该玩家失败。
二.设计
(设计不完整,缺陷很大,正在修补)
1.游戏界面类
class gamewindow // 游戏界面类
{
public:
void Map_initialize(); // 地图初始化函数
private:
int window_size[20][40] = { 0 };// 游戏界面的尺寸
};
2.方块类
class block // 方块类
{
public:
void Block_falling(); // 方块下落函数
void Block_speed(); // 方块加速函数函数
void Block_move(); // 方块左右移动函数
void Block_changeshape(); // 方块变形控制函数
private:
int block_shape[2][4]; // 方块类的形状
};
3.玩家类
class player //玩家类
{
public:
int score; //玩家分数
void player_initialize(); //玩家初始化函数;
private:
string name; //玩家名称
};
4.游戏引擎类
class gameengine // 游戏引擎类
{
public:
void Game_begin(); // 游戏开始函数
void Creat_block_random(); // 随机生成方块函数
bool Judge_bottom(); // 判断方块是否触底函数
bool Judge_top(); // 判断方块是否触顶
bool Judge_delete(); // 判断是否可以消行
void Block_delete(); // 消行函数
void Block_add(); // 增行函数
private:
};