• 我罗斯方块设计方案


    我罗斯方块游戏设计

    这个作业属于哪个课程2020年面向对象程序设计
    这个作业要求在哪里 我罗斯方块
    这个作业的目标 发布一篇博客,讲述你的设计,你选用的渲染方法,你收集到的资料,和你的游戏界面示意图。注意:请详细写出你需要的类,和类的成员函数与成员变量。

    作业正文

    代码仓库

     https://www.cnblogs.com/smallgrape/p/12832073.html

    https://github.com/smallgrape14/RussiaBlock

    设计者

    陈妍羽  031902534

    许雅萍  031902541

    其他参考文献  https://zhidao.baidu.com/question/1897527644631992500.html

    1.设计方案:

    游戏内容

    基础内容与俄罗斯方块一样。
    俄罗斯方块
    区别在于,我罗斯方块是同屏幕,双人对战游戏,双方一人使用 wasd ,一人使用上下左右控制,当一名玩家消去一行,就会让另一名玩家最底下增加随机一行。

    详细

    以玩家一为例,AD 控制方块左右移动,W 转换方块朝向,S 快速下落,使得方块落到底端。当玩家方块填满一整行时,会消除这行方块,然后使得玩家二的方块底部随机增加一行带空格的。玩家二同理。当一名玩家方块高度达到一个高度时就会结束游戏,该玩家失败。

     
    2.类的设计
     
    1)方块类:随机生成方块;方块坐标形状;是否已固定;是否碰撞边框;左右移动、旋转及下落。
    2)玩家类:输入,得分,控制方块类,消行,对方增加一行。
    3)渲染类:封装渲染需要的函数,初始化边框、界面。
    4)游戏类:管理整个游戏,负责游戏暂停结束。
     
    方块类:
     
    class Block
    {
    private:
        int positionX[4], positionY[4];//方块的坐标
        bool check;//检测方块是否结束进程 
        int val;//方块下落速度
    public:
        void roundBlock();//随机生成方块
        bool collisionDetection();//检测是否碰撞到边框 
        void myLeft();//左移
        void myRight();//右移
        void myUp();//顺时针旋转90度
        int myDown();//加速下落
    
    };

    玩家类:

    class Player
    {
    private:
       int fraction;//用来存储得分
       char key;//用来存储按键
    public:
        void addition(); //对方增加一行
        void eliminateRow();
        //判断是否能消行并更新分值
    };

    渲染类:

    class  render
    {
    private:
       int length;
       int width;
    public:
       void initialWindow(HANDLE hOut);//初始化窗口
       void initialPrint(HANDLE hOut);//初始化界面
       void set wall() //设置边框,用于检测碰撞 
       void gotoXY(HANDLE hOut, int x, int y);//移动光标
    
    }; 

    游戏类:

    class Game
    {
    private:
        bool check;//检测游戏是否结束进程 
    public:
        void myStop(HANDLE hOut, int block[4][4]);//游戏暂停
        void gameOver(HANDLE hOut, int block[4][4], int map[21][12]);//游戏结束
    
     };
    3.渲染方式
     
     windows.h 和conio.h
     
    4.界面示意图
     

     
  • 相关阅读:
    jquery、js调用iframe父窗口与子窗口元素的方法整理
    js中的各种宽高以及位置总结
    javascript call与apply关键字的作用
    javascript之window对象
    CSS3 3D立方体效果
    CSS3 3D transform变换
    JS查找字符串中出现次数最多的字符
    写一个函数将传入的字符串转换成驼峰表示法
    数组去重方法
    内核升级得一个模范
  • 原文地址:https://www.cnblogs.com/smallgrape/p/12832073.html
Copyright © 2020-2023  润新知