zoukankan      html  css  js  c++  java
  • 我罗斯方块设计方案

    作业描述 详情
    这个作业属于哪个课程 班级链接
    这个作业要求在哪里 作业要求
    这个作业的目标 讲述你的设计,你选用的渲染方法,你收集到的资料,和你的游戏界面示意图,和。注意:请详细写出你需要的类,和类的成员函数与成员变量。
    作业正文 我罗斯方块设计方案
    其他参考文献
    项目地址 项目GitHub地址
    小组成员 031902517-田剑心
    031902637-廖晓玲
    061900414-廖智炫

    一、设计方案

    游戏设计包括两个模式:单人模式和双人模式

    其中,单人模式为普通的俄罗斯方块

    双人模式为此消彼长俄罗斯方块:当玩家方块填满一整行时,会消除这行方块,然后使得玩家二的方块底部随机增加一行带空格的。玩家二同理。当一名玩家方块高度达到一个高度时就会结束游戏,该玩家失败。

    游戏设计以下几个类:

    1. 方块类(Squre):负责方块的状态描述(坐标、形状),反馈给游戏类,接受玩家类的指令
    2. 玩家类(Player):负责接受输入,计分,控制方块类,方块类与地图碰撞判定,反馈给游戏类
    3. 渲染类(Render):封装渲染需要的函数
    4. 游戏类(Game):负责管理整个游戏,接受玩家类的反馈,调用渲染类进行渲染,设定游戏模式

    二、渲染方法

    本组考虑采用 coino.h 和 windows.h 处理控制台


    三、游戏界面示意图


    四、类

    (一)方块类

    属性:

    1. 四个小方块的坐标
    2. 四个小方块集合的颜色

    方法:

    1. 顺时针旋转
    2. 左移
    3. 右移
    4. 加速下落
    5. 指令识别、分发:识别玩家类输入的指令,并执行对应方法

    (二)玩家类

    属性:

    1. 计分
    2. 地图
      (3. 姓名)

    方法:

    1. 读入键盘指令
    2. 碰撞判定:判定对应方块类是否碰到左右边界或下侧方块
    3. 执行输入的指令
    4. 消除一行
    5. 增加一行随机
    6. 合并方块类:当方块类掉入底端时,将方块类合并至地图类
    7. 上边界判定:判定是否结束游戏
      (8. 设定姓名)

    (三)渲染类

    方法:

    1. 按颜色绘制地图

    (四)游戏类

    属性:

    1. 玩家1
    2. 玩家2
    3. 游戏模式
    4. 游戏地图

    方法:

    1. 设定游戏模式
    2. 根据游戏模式,从玩家类读取游戏地图
    3. 调用渲染类绘制
    4. 玩家类操作执行,并判定结果
    5. 调用玩家类执行,增加一行随机方法
  • 相关阅读:
    猜年龄的问题
    某字符串可能包含26个英文字母,可能包含6种符号,可能包含3个数字,统计他们出现的个数
    指针变量前面类型的作用和意义
    二维数组 同时计算 练习题
    二维数组,行累加与列累加同时进行
    二维数组斜线扫描心得与分析
    二维数组扫描操作题
    LeetCode | Remove Duplicates from Sorted List II
    LeetCode | Remove Nth Node From End of List
    LeetCode | Palindrome Linked List
  • 原文地址:https://www.cnblogs.com/JustinRochester/p/12821200.html
Copyright © 2011-2022 走看看