我罗斯方块

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP/
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10729
这个作业的目标 设计详细的方案
作业正文 如下
其他参考文献 https://blog.csdn.net/qq_28634403/article/details/102957866
地址 https://github.com/XINJIUXJ/block/tree/master
小组成员 031902643 赵威威 031902635 陈诗昀
游戏规则
基础内容与俄罗斯方块一致,区别在于我罗斯方块是同屏幕,双人对战游戏,双方一人使用 wasd ,一人使用上下左右控制,当一名玩家消去一行,就会让另一名玩家最底下增加随机一行。
以玩家一为例,AD 控制方块左右移动,W 转换方块朝向,S 快速下落,使得方块落到底端。当玩家方块填满一整行时,会消除这行方块,然后使得玩家二的方块底部随机增加一行带空格的。玩家二同理。当一名玩家方块高度达到一个高度时就会结束游戏,该玩家失败。
主要设计
1.游戏需要一个主循环,代码示例如下:
while(1){
    update();
}

2.方块类:

class block{        
    private:
    int x;//横坐标
    int y;//纵坐标
    int name;//方块名称
    int state;//方块目前的状态
    int director;//方块的旋转方向
    public:
    void move();//控制旋转
    void fastdown();//加速下降
    void down();//下降
};

3.画地图

class map{
   private:
   int map[300][300];
   public:
   void initmap();//初始化地图
   void draw map();//绘制地图
};

4.玩家类:

class player{
    private:
    char name[100];
    char name2[100];
    public:
    void cleanblock();//清除方块
    bool judge();//判断是否需要清除
    void addblock();//增加方块
    void check();//检查方块移动是否正常
    int num();//计算得到的分数
};

5.游戏类

void startgame();
void endgame();

6.渲染方法
用windows.h头文件实现绘制

原文地址:https://www.cnblogs.com/XINJIUXJ/p/12837160.html