文件调整
This commit is contained in:
@@ -4,6 +4,31 @@ Tereis 是一个基于 C++、Win32 API、GDI/GDI+ 实现的桌面版俄罗斯方
|
||||
|
||||
项目在经典俄罗斯方块玩法上扩展了 Rogue 模式,加入等级成长、强化选择、主动技能、特殊方块、视频复活、鼠标交互和视觉特效。程序不依赖游戏引擎,主要使用 Win32 消息循环和 GDI 绘图完成。
|
||||
|
||||
## 快速运行
|
||||
|
||||
推荐在 Windows + PowerShell + MinGW-w64 环境下运行。
|
||||
|
||||
1. 确认 `g++.exe` 和 `windres.exe` 已加入 `PATH`,或安装在 `C:\mingw64\bin\`。
|
||||
2. 在项目根目录执行构建并运行:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1 -Run
|
||||
```
|
||||
|
||||
3. 如只需构建,不启动程序:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1
|
||||
```
|
||||
|
||||
构建产物位于:
|
||||
|
||||
```text
|
||||
.vscode-build\mingw\Tetris.exe
|
||||
```
|
||||
|
||||
运行时请从项目根目录启动程序,确保 `assets/` 目录可被读取,否则背景图、音乐和复活视频可能无法加载。
|
||||
|
||||
## 功能概览
|
||||
|
||||
### 经典模式
|
||||
@@ -91,6 +116,85 @@ Rogue 模式是本项目的主要扩展玩法。
|
||||
- 双重抉择 / 命运轮盘:Space 标记,Enter 确认已选强化
|
||||
- 鼠标操作:直接点击升级卡片即可选择或标记
|
||||
|
||||
## 运行说明
|
||||
|
||||
### 方式一:PowerShell 一键运行
|
||||
|
||||
在项目根目录打开 PowerShell,执行:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1 -Run
|
||||
```
|
||||
|
||||
该命令会先编译项目,编译成功后自动启动游戏窗口。
|
||||
|
||||
### 方式二:先构建再运行
|
||||
|
||||
先在项目根目录执行构建:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1
|
||||
```
|
||||
|
||||
构建成功后运行生成的程序:
|
||||
|
||||
```powershell
|
||||
.\.vscode-build\mingw\Tetris.exe
|
||||
```
|
||||
|
||||
### 方式三:VS Code 运行和调试
|
||||
|
||||
项目已经配置好 VS Code 任务:
|
||||
|
||||
- 按 `Ctrl + Shift + B` 执行默认构建任务 `build Tetris MinGW`
|
||||
- 在任务列表中运行 `run Tetris MinGW` 可构建并启动游戏
|
||||
- 在“运行和调试”中选择 `Debug Tetris MinGW` 可启动调试
|
||||
|
||||
调试需要系统能找到 `gdb.exe`。如果无法调试,请确认 MinGW 的 `bin` 目录已经加入 `PATH`。
|
||||
|
||||
### 方式四:Visual Studio 中运行
|
||||
|
||||
本项目没有提供 Visual Studio 的 `.sln` 或 `.vcxproj` 工程文件,推荐在 Visual Studio 中打开项目文件夹,然后通过终端调用已有构建脚本运行。
|
||||
|
||||
操作步骤:
|
||||
|
||||
1. 打开 Visual Studio。
|
||||
2. 选择 `文件 -> 打开 -> 文件夹`,打开项目根目录 `Tereis`。
|
||||
3. 打开 Visual Studio 内置终端,或在项目根目录单独打开 PowerShell。
|
||||
4. 确认 MinGW-w64 已安装,并且 `g++.exe`、`windres.exe` 可以被系统找到。
|
||||
5. 在终端中执行:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1 -Run
|
||||
```
|
||||
|
||||
如果只想编译,不立即运行:
|
||||
|
||||
```powershell
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1
|
||||
```
|
||||
|
||||
编译成功后,程序位置为:
|
||||
|
||||
```text
|
||||
.vscode-build\mingw\Tetris.exe
|
||||
```
|
||||
|
||||
也可以在 Visual Studio 的终端中运行:
|
||||
|
||||
```powershell
|
||||
.\.vscode-build\mingw\Tetris.exe
|
||||
```
|
||||
|
||||
注意:不要直接把 `src` 目录中的单个 `.cpp` 文件当作独立程序运行。本项目由多个源文件、资源文件和 `assets/` 资源目录共同组成,必须通过项目根目录下的 `build-mingw.ps1` 构建。
|
||||
|
||||
### 运行注意事项
|
||||
|
||||
- 推荐始终从项目根目录启动程序。
|
||||
- 不建议直接双击 `.vscode-build\mingw\Tetris.exe`,因为工作目录可能不正确,导致 `assets/` 资源加载失败。
|
||||
- 如果重新构建时提示 `Tetris.exe: Permission denied`,请先关闭正在运行的游戏窗口。
|
||||
- 程序使用 Win32 桌面窗口运行,不会显示控制台窗口。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```text
|
||||
@@ -118,8 +222,7 @@ Tereis/
|
||||
├─ .vscode-build/ 本地构建输出目录
|
||||
├─ build-mingw.ps1 MinGW 构建脚本
|
||||
├─ README.md 项目说明
|
||||
├─ VSCode运行说明.md VS Code 构建运行说明
|
||||
└─ Dev-C++运行说明.md Dev-C++ 兼容运行说明
|
||||
└─ AGENTS.md 项目协作和代码生成约束
|
||||
```
|
||||
|
||||
## 构建环境
|
||||
@@ -161,6 +264,20 @@ powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File .\build-mingw.ps1 -Run
|
||||
```
|
||||
|
||||
也可以直接运行已生成的程序:
|
||||
|
||||
```powershell
|
||||
.\.vscode-build\mingw\Tetris.exe
|
||||
```
|
||||
|
||||
如果使用 VS Code:
|
||||
|
||||
- `Ctrl + Shift + B` 执行默认构建任务 `build Tetris MinGW`
|
||||
- 运行任务 `run Tetris MinGW` 可构建并启动游戏
|
||||
- 调试配置 `Debug Tetris MinGW` 会先构建,再使用 `gdb.exe` 启动调试
|
||||
|
||||
注意:直接双击 `.vscode-build\mingw\Tetris.exe` 时,当前工作目录可能不是项目根目录,资源文件可能无法正常读取。推荐从项目根目录通过脚本或 VS Code 任务启动。
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 1. 提示 `Tetris.exe: Permission denied`
|
||||
|
||||
Reference in New Issue
Block a user