我罗斯方块1

这个作业属于哪个课程 2020面向对象程序设计张栋班
这个作业要求在哪里 我罗斯方块
这个作业的目标 讲述设计,选用的渲染方法,收集到的资料,游戏界面示意图
项目地址 https://github.com/qhl1/Tetris
其他参考文献 GreedySnakeC++入门系列博客七 俄罗斯方块小游戏制作新手向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个小方格

​ 侧框:

​ 姓名

​ 分数

​ 操作方法

​ 最高纪录

开始游戏

结束游戏

posted @ 2020-05-06 14:41  取名难啊  阅读(251)  评论(0)    收藏  举报