zoukankan      html  css  js  c++  java
  • 我罗斯作业(一)

    这次作业属于哪个课程 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绘制窗口
    

    期待界面

  • 相关阅读:
    21.Merge Two Sorted Lists 、23. Merge k Sorted Lists
    34. Find First and Last Position of Element in Sorted Array
    leetcode 20. Valid Parentheses 、32. Longest Valid Parentheses 、301. Remove Invalid Parentheses
    31. Next Permutation
    17. Letter Combinations of a Phone Number
    android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
    oc 异常处理
    oc 类型判断
    oc Delegate
    oc 协议
  • 原文地址:https://www.cnblogs.com/lyhlcs/p/12833922.html
Copyright © 2011-2022 走看看