我罗斯作业(一)

这次作业属于哪个课程 2020面向对象程序设计(福州大学-数学与计算机科学学院)
作业要求 我罗斯
作业目的 讲述你的设计 你选用的渲染方法 你收集到的资料 你的游戏界面示意图
参考文献 c++俄罗斯方块类
项目地址 Github地址
小组成员 钟睿如 031902243
刘雨欢 031902240

设计方案

双人俄罗斯方块,对手消一行自增一行,通过键盘上的’w’, ’a’, ’ s’, ’d’和’↑’, ’←’, ’↓’, ’→’来控制方块的旋转、下移、左移、右移。

所需要的类

方块类

  • 方块变量
    方块颜色,方块形状(存在数组中),方块对应的类型,方块当前的位置
  • 成员函数:
  1. 产生方块的函数:通过方块ID对应不同方块的颜色、形状等信息,并使方块到达的位置标记为1,其他位置标记为0,每隔一段时间调用;

  2. 方块移动函数:使方块左右移动,若到达边框边界则不可移动;

  3. 方块旋转函数:实现方块的旋转(通过转置位置数组实现);

  4. 预览函数:向玩家展示下一个方块;

  5. 方块下落函数:通过并发使方块边下落边改变形状;

游戏类

  • 成员变量:
  1. 是否消行(bool)
  2. 游戏是否结束(bool)
  3. 玩家输入的检测
  • 成员函数:
  1. 检测消行的函数:当方块积满一行时消去;
  2. 增加一行的函数:当一方的方块积满一行时,令其对手增加一行;
  3. 判断游戏是否失败:当方块累积达到界面顶部则该玩家失败;
  4. 控制下落速度的函数:根据玩家等级来动态判定方块下落速度。

玩家类

  • 成员变量:
  1. 玩家得分(每消一行就加分)
  2. 玩家等级(达到一定等级增加方块下落速度)
  • 成员函数:
  1. 计算分数的函数:记录双方玩家的分数并显示;
  2. 计算等级的函数:当分数到达一定值,提高等级;

渲染类

  • 成员变量:
  1. 边框位置信息
  2. 大界面的位置信息
  3. 对玩家的提示信息
  • 成员函数:
  1. 渲染边框的函数:绘制固定的边框和给玩家的游戏提示;
  2. 渲染游戏的函数:根据方块信息不断更新绘制游戏的主界面;
  3. 判断是否到达边界的函数:若方块已到达边界,则不再继续绘制
渲染方法:通过调用Win32 API绘制窗口

期待界面

原文地址:https://www.cnblogs.com/lyhlcs/p/12833922.html