zoukankan      html  css  js  c++  java
  • 我罗斯方块第一次作业

    作业描述 详情
    这个作业属于哪个课程 2020面向对象程序设计
    这个作业要求在哪里 我罗斯方块
    这个作业的目标 >发布一篇博客
    >讲述你的设计,你选用的渲染方法
    >整理你收集到的资料
    >给出你的游戏界面示意图
    >注意:请详细写出你需要的类,和类的成员函数与成员变量。
    作业正文 如下
    小组成员 031902535陈玉娜
    031902537江舒颖
    031902538李晓芳
    参考文献 俄罗斯方块代码
    俄罗斯方块实验报告(附源码)
    百度百科渲染(计算机术语)
    各种渲染方式对比解析
    github 地址 https://github.com/dump16/Tetris
    • 设计讲述

    在设计游戏时,我们先查找网上有关俄罗斯方块游戏的相关资料,以及渲染、引擎等一些专业术语的含义等。在经过初步了解之后才开始正式进一步考虑游戏的构思等。在设计时,我们从游戏的基础元素一步一步往外拓展,逐渐完善。从方块类、玩家类、渲染类、游戏类,四个类来考虑游戏的基础功能。方块类主要是对方块的基础操作,包括基础速度、随机出现、旋转、加速、左右移动、消行、增行;玩家类主要是每一个玩家对应的键盘操作,wasd、↑↓←→对应游戏的功能实现;渲染类主要是染色、边框界面,7种方块7种颜色的设置,边框界面的大小、数量,界面元素等;游戏类主要是管理整个游戏,包括游戏的开始、结束、终止、暂停、判定结束、计分等。通过四个类一步步完善游戏功能。

    • 基本功能

    方块类

    class Block{ 
    	public:
    		int shape;	//形状 
    		int color;	//颜色 
    		int speed;	//速度 
    		char locate[10][10];	//位置 
    		int score;	//得分 
    		
    	public:
    		void Creat();	//构造
    		void Random();	//随机出现 
    		void Down();	//基础速度自动下落 
    		bool IsAgain();	//边界判定及重合判定 
    		void Move();	//移动 
    		void Rotate();	//旋转
    		void Accelerate();	//加速移动 
    		bool Judge();	//层满判定 
    		void Eliminate();	//消行
    		void Add();	//增行 
    		bool CheckWin//胜负判定 
    		
    };
    

    玩家类

    class Player{
    	public:
    		
    	public:
    		void Kbhit();	//键盘响应
    		void Hide();	//隐藏光标 
    		
    };
    

    渲染类

    class Render{
    	public:
    		int height;	//界面高 
    		int width;	//界面宽 
    		int size;	//界面大小 
    		int color;	// 界面颜色 
    		char map[100][100];	//界面信息 
    		
    	public:
    		void Paint();	//绘制界面 
    		void Update();	//更新界面 
    		void Score();	//显示得分
    		
    };
    

    游戏类

    class Game{
    	public:
    		
    	public:
    		void Welcome();	//欢迎界面 
    		void Run();	//运行
    		void End();	//结束
    		void Over();	//结束界面 
    		void Pause();	//暂停
    		void Continue();	//继续 
    		void Exit();	//退出
    		void New();	//新游戏
    		
    };
    
    • 渲染方法

    控制台

    • 游戏界面示意图

  • 相关阅读:
    Ubuntu apt-get "Hash Sum mismatch" 问题解决方法
    模型压缩相关工作
    bn两个参数的计算以及layer norm、instance norm、group norm
    cascade rcnn论文总结
    c++ 堆和栈以及区别
    c++ 浅拷贝和深拷贝 指针和引用的区别 malloc(free)和new(delete)的区别 重载重写重定义
    c++ 多态,虚函数、重载函数、模版函数
    c++问题整理
    repulsion-loss
    smooth l1
  • 原文地址:https://www.cnblogs.com/ponynice/p/12833765.html
Copyright © 2011-2022 走看看