4.3 KiB
4.3 KiB
Tereis
基于 C++、Win32 API 和 GDI/GDI+ 实现的俄罗斯方块课程大作业。
项目提供两种主要玩法:
经典模式:标准俄罗斯方块,强调移动、旋转、消行和生存。Rogue 模式:在标准玩法基础上加入升级、强化、主动技能、危险等级和局内构筑。
当前工程可直接在 Windows 下编译运行,适合作为课程展示、实验报告和源码答辩使用。
项目特点
- Win32 图形界面程序,不依赖第三方游戏引擎
- 支持键盘操作、暂停、重开和返回主菜单
- 支持主菜单、帮助页、升级选择界面和结算反馈
- Rogue 模式包含强化系统、主动技能和特殊方块机制
- 支持背景图、图标、背景音乐和视频复活功能
- 提供 MinGW 构建脚本,以及 VS Code / Dev-C++ 运行说明
当前已实现内容
1. 基础玩法
- 方块生成、移动、旋转、软降、硬降
- 碰撞检测、落地固定、消行、游戏结束判定
- 预测落点显示
- 重新开始、暂停、返回菜单
2. 界面与资源
- 自定义窗口界面
- 图标资源
- 背景图片
- 背景音乐
- 帮助页与强化图鉴
3. Rogue 模式
- EXP 与等级系统
- 三选一 / 六选二强化系统
- 升级后强化选择
- 危险等级和底部封锁区
- 主动技能:
C / Shift备用仓Z黑洞奇点X清屏炸弹V空中换形
- 特殊方块与连锁效果:
- 爆破核心
- 棱镜激光
- 十字方块
- 彩虹方块
- 方块改造
4. 额外功能
- 死亡后看本地视频复活一次
- 消除与技能清除特效
- 升级冲击波 / 进化冲击等升级联动效果
目录结构
Tereis/
├─ src/
│ ├─ include/ 头文件
│ ├─ source/ 源文件
│ └─ resources/ Windows 资源文件
├─ assets/
│ ├─ audio/ 音频资源
│ ├─ icons/ 图标资源
│ ├─ images/ 图片资源
│ └─ video/ 复活视频资源
├─ report/ 报告与整理材料
├─ .vscode/ VS Code 配置
├─ .vscode-build/ 本地构建输出目录
├─ build-mingw.ps1 MinGW 构建脚本
├─ README.md 项目总说明
├─ VSCode运行说明.md VS Code 运行说明
└─ Dev-C++运行说明.md Dev-C++ 运行说明
环境要求
- Windows
- PowerShell
- MinGW-w64
g++.exewindres.exe- 如需调试:
gdb.exe
脚本会优先使用系统 PATH 中的 MinGW;如果没有加入 PATH,也兼容常见安装路径 C:\mingw64\bin\。
构建与运行
在项目根目录执行:
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1
构建成功后,生成文件位于:
.vscode-build\mingw\Tetris.exe
如果希望构建后直接运行:
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1 -Run
注意:
- 如果提示
Tetris.exe: Permission denied,通常是程序还在运行,先关闭游戏窗口再重新构建。 - 项目依赖
assets/下的图标、图片、音频和视频资源,提交或运行时不要删掉这些文件。
操作说明
通用操作
← / A:左移→ / D:右移↑ / W:旋转↓ / S:软降Space:硬降P:暂停 / 继续R:重开当前对局M:返回主菜单
Rogue 模式附加操作
C / Shift:备用仓Z:黑洞奇点X:清屏炸弹V:空中换形
复活
- 死亡后按
V播放本地视频,可复活一次
文档说明
- VSCode运行说明.md:适合直接在 VS Code 中构建、运行和调试
- Dev-C++运行说明.md:适合作为备用运行方案
- report/list.md:项目阶段清单
课程展示建议
如果用于课堂演示,建议优先展示以下内容:
- 主菜单与帮助页
- 经典模式基础玩法
- Rogue 模式升级界面
- 特殊方块与主动技能
- 视频复活功能
说明
本项目为课程设计 / 大作业用途,代码风格以过程式实现为主,便于和课程内容对照理解,不以复杂架构设计为目标。