我罗斯方块最终篇
这个作业属于哪个课程 | 班级的链接 |
---|---|
这个作业要求在哪里 | 作业的要求 |
这个作业的目标 | 代码的 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仓库。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具