我罗斯方块最终篇

这个作业属于哪个课程 班级的链接
这个作业要求在哪里 作业的要求
这个作业的目标 代码的 git 仓库链接。
运行截图/运行视频。
代码要点 收获与心得。
依然存在的问题。
作业正文 作业
GitHub仓库地址 仓库
小组成员 031902609梁育诚
031902610刘凌斌
成员博客首页 梁育诚
刘凌斌

很抱歉我们并没有完成所需的双人我罗斯方块的实现,仅有单人功能,我们会运用暑假时间进行大的改动,争取能够将所有功能完善并成功运行。

1、运行截图:

2、代码要点:

类声明:

Drawing类

class Drawing {
public:
	int x, y;
	Drawing(int a, int b) {
		x = a;
		y = b;
	}
	void Init();											// 初始化游戏
	void Quit();											// 退出游戏
	void NewGame();											// 开始新游戏
	void GameOver();										// 结束游戏
};

Player类

class Player {
public:
	Player() {}
	CMD  GetCmd();											// 获取控制命令
	void DispatchCmd(CMD _cmd);								// 分发控制命令
};

Square类

class Square {
public:
	Square() {}
	void NewBlock();										// 生成新的方块
	bool CheckBlock(BLOCKINFO _block);						// 检测指定方块是否可以放下
	void DrawUnit(int x, int y, COLORREF c, DRAW _draw);	// 画单元方块
	void DrawBlock(BLOCKINFO _block, DRAW _draw = SHOW);	// 画方块
	void OnRotate();										// 旋转方块
	void OnLeft();											// 左移方块
	void OnRight();											// 右移方块
	void OnDown();											// 下移方块
	void OnSink();											// 沉底方块
};

Game类

class Game :public Player, public Drawing, public Square {
public:
	Game(int a, int b) :Drawing(a, b) {
	}
};
//只是一个派生类

实现请移步仓库

3、心得与依然存在的问题:

我们从无到有完成了我罗斯方块的部分功能的开发,初步体验了绘制插件、函数的使用以及代码量较大的项目的开发,感受到了与做编程题截然不同的感觉,并且完成的单人模式可以正常使用以及游玩。

由于开发初期我们考虑先完成单人的我罗斯方块的实现以及地图、界面的绘制,后期想增加双人内容发现需要大改,时间不够充裕较为懒惰

暑假我们将会完成该项目的制作,并会更新至博客园以及GitHub仓库。

原文地址:https://www.cnblogs.com/LiangYC1021/p/13121511.html