我罗斯方块汇报(1)

这个作业属于哪个课程 2020面向对象程序设计
这个作业要求在哪里 我罗斯方块汇报(1)
这个作业的目标 1.汇报自己这个阶段的开发进度。(完成了哪几个模块)
讲述自己遇到的问题和尝试解决的方法和最后的结果(解决与否)
制作一篇开发日记,例子如此,描述自己开发某一个模块的过程。
作业正文 我罗斯方块汇报(1)
其他参考文献 从零开始---控制台用c写俄罗斯方块游戏(1) 用c语言写俄罗斯方块
小组成员 031902136黄晨馨 031902137柯婧 031902143张静

已编写的类

玩家类

class Player {

string name;   

char map[H][W];  //一个H*W大小的地图

Block* ptr;      //一个指向方块类的指针

char s, x, z, y;//////操作方式(不同玩家有不同操作方式) 

/////判断能不能向下/////

bool checkDown();

///////判断能不能向左//////

bool checkLeft();

/////判断能不能向右/////

bool checkRight();

/////判断能不能变形/////

bool checkTransform();

/////左移//////

void moveLeft();

/////右移//////

void moveRight();

/////下移/////

void moveDown();

/////方块到底后将方块贴入地图//////

void blockIn();

public:

/////初始化地图+指针指方块类+初始化方块所在位置//////

Player(string n , Block* a,char b,char c,char d,char e);

/////接受键盘操作(内部调用各种函数)/////

void getMessage(char m);

/////判断有无消行并消行(返回所消行数)/////

int CheckAndReplace(); 

/////底下随机增加一行(未测试)////

void Add();

////判断是否输了////

bool checkLose();

/////打印地图,以及当前方块所在位置////

void Print();

};

方块类

class Block {

private:

int x,y;/////在地图中的位置/////

char block[4][4];//当前方块//

char nextBlock[4][4];//下一块//

int stateNext;///////////下一个方块的状态4代表长条或田字块,3代表其他方块(防止旋转时候飘来飘去)

int stateNow;///////当前状态,同上-

////生成下一个方块////

void Create();

///////////把下一个方块贴到当前方块,再生成下一个方块(a,b初始化在地图中的位置)

void createNow(int a,int b);

/////逆时针旋转变形(a=1旋转当前方块,其他数字旋转下一个方块)/////

void transform(int a = 1);

////打印下一个方块////

void printNext();

public:

///////定义一个方块时生成下一个方块/////////

Block();

////////玩家类是方块类的friend////////(解决之前方块与地图无法联动的问题)

friend Player;

};

游戏类


class Game {        /////全局/////                   ///////考虑单人模式在这里切换???          还未开发完

private:

////游戏进行的时间(暂时没用)///?好像没什么必要??

int time;

////提示语////暂时只有三个nia
string tip[3];
public:

////初始化提示语////

Game();

/////全局暂停(按任意键继续)/////

void stop();
////打印提示语(x选择要打印的提示语编号)////
void PRINT(int x);
};
/////////////???渲染???/////////////

待解决的问题

  • 方块自动下落怎么实现

  • 打印地图时闪屏怎么解决

  • 怎么把两个地图并列打印(未实现)

  • 游戏初始界面未设计

  • 双人模式怎样才能同时操作

已解决的问题

不知道方块怎么和玩家类联动

posted @ 2020-05-22 21:04  lkdj  阅读(188)  评论(0编辑  收藏  举报