119 lines
4.6 KiB
Markdown
119 lines
4.6 KiB
Markdown
# 《数字合成》游戏脚本说明文档 (v3.8)
|
||
|
||
|
||
|
||
## 1. 如何运行游戏
|
||
|
||
1. **安装 Pygame**: 如果您尚未安装,请打开您电脑的命令行工具(在Windows上是 **CMD** 或 **PowerShell**)并输入以下命令,然后按回车:
|
||
|
||
```
|
||
pip install pygame
|
||
```
|
||
|
||
2. **准备文件**:
|
||
|
||
- 将我们最终确定的Python代码保存为一个文件,例如 `game.py`。
|
||
- 在与 `game.py` **完全相同的目录**下,创建一个名为 `assets` 的文件夹。
|
||
- 将所有的资源文件(`.mp3` 音效, `press-start-2p.ttf` 字体, `.ico` 图标)全部放入这个 `assets` 文件夹。
|
||
|
||
您的文件结构应该如下所示,这是一个正确的示例:
|
||
|
||
```
|
||
- /您的游戏文件夹/
|
||
|- game.py
|
||
|- /assets/
|
||
|- press-start-2p.ttf
|
||
|- favicon.ico
|
||
|- click.mp3
|
||
|- merge.mp3
|
||
|- chain reaction.mp3
|
||
|- game over.mp3
|
||
|- game-music-loop.mp3
|
||
```
|
||
|
||
3. **运行**: 打开命令行工具,进入到 `game.py` 所在的文件夹,然后运行:
|
||
|
||
```
|
||
python game.py
|
||
```
|
||
|
||
## 2. 如何将游戏打包成 .exe 文件
|
||
|
||
将游戏打包成一个`.exe`文件,就可以让没有安装Python的朋友也能直接在Windows电脑上玩。最常用的工具是 `pyinstaller`。
|
||
|
||
#### **第一步:安装 PyInstaller**
|
||
|
||
和安装Pygame一样,在命令行工具中输入以下命令并按回车:
|
||
|
||
```
|
||
pip install pyinstaller
|
||
```
|
||
|
||
#### **第二步:执行打包命令**
|
||
|
||
1. 打开命令行工具。
|
||
|
||
2. 使用 `cd` 命令进入到您的游戏文件夹(也就是`game.py`和`assets`文件夹所在的位置)。例如:
|
||
|
||
```
|
||
cd C:\Users\WT\Videos\2046
|
||
```
|
||
|
||
3. 输入以下打包命令,然后按回车。请**完整复制**这一整行命令:
|
||
|
||
```
|
||
pyinstaller --onefile --windowed --add-data "assets;assets" --icon="assets/favicon.ico" game.py
|
||
```
|
||
|
||
#### **命令解释:**
|
||
|
||
- `--onefile`: 将所有东西打包进一个单独的`.exe`文件中。
|
||
- `--windowed`: 运行`.exe`时,不会出现一个黑色的命令行窗口。
|
||
- `--add-data "assets;assets"`: **【最重要的一步】** 这会告诉打包工具,把`assets`文件夹和里面的所有内容(字体、音效)一起打包进`.exe`文件中。第一个`assets`是源文件夹,第二个`assets`是打包后在程序内部的路径。
|
||
- `--icon="assets/favicon.ico"`: 为您的`.exe`文件设置一个自定义的图标。
|
||
- `game.py`: 您要打包的主程序文件名。
|
||
|
||
#### **第三步:找到您的 .exe 文件**
|
||
|
||
打包过程需要一些时间。完成后,您的游戏文件夹里会出现几个新文件夹,其中一个是 `dist`。
|
||
|
||
**您的`.exe`文件就在 `dist` 文件夹里!** 您可以把它复制出来,发送给朋友,他们双击就可以玩了。
|
||
|
||
## 3. 如何自定义游戏外观(配置区详解)
|
||
|
||
现在,所有的配置项都集中在代码顶部的 **`UI_SETTINGS`** 字典中。您可以非常安全地修改它们。
|
||
|
||
### **主菜单界面 (Main Menu)**
|
||
|
||
- `"MENU_TITLE_POS": (X, Y)`: **主标题的中心点坐标**。修改第二个值(Y)可以整体上下移动标题。
|
||
- `"MENU_SUBTITLE_POS": (X, Y)`: **副标题的中心点坐标**。
|
||
- `"MENU_START_BUTTON_POS": (X, Y)`: **“开始游戏”按钮的中心点坐标**。
|
||
|
||
### **游戏结束菜单 (Game Over Menu)**
|
||
|
||
- `"GAMEOVER_TITLE_POS": (X, Y)`: **"Game Over"标题的中心坐标**。
|
||
- `"GAMEOVER_SCORE_TEXT_BASE_POS": (X, Y)`: 这是“最终分数”和“最高数字”这两行文字的**基准中心点**。
|
||
- `"GAMEOVER_SCORE_LINE_SPACING"`: **【重要】** 控制“最终分数”和“最高数字”之间的**行间距**。
|
||
|
||
### **游戏内方块 (In-Game Cells)**
|
||
|
||
- `"CELL_NUMBER_FONT_SIZE"`: **【重要】** 此项专门控制棋盘上**方块内部数字的字体大小**,与信息栏的字体完全独立。
|
||
|
||
### **顶部信息栏 (In-Game HUD)**
|
||
|
||
- `"HUD_LABEL_VALUE_SPACING"`: **【重要】** 这是您最关心的**行间距**。它控制着“标签”(如"Score")与其下方“数值”(如"100")之间的垂直距离。**增大此值会让它们的距离变远**。
|
||
|
||
#### **分数、机会、最高分模块**
|
||
|
||
您可以独立定制每一块:
|
||
|
||
- `"HUD_SCORE_LABEL_POS": (X, Y)`: “Score”**标签**的中心点坐标。
|
||
- `"HUD_SCORE_VALUE_FONT_SIZE"`: **分数数值**的字体大小。
|
||
- (`TRIES` 和 `HIGHEST` 模块的配置项与此类似)
|
||
|
||
### **游戏内顶部按钮颜色**
|
||
|
||
- `"BUTTON_..._BG"`: 控制各个按钮的背景色。
|
||
- `"BUTTON_..._HOVER"`: 控制鼠标悬停在按钮上时的颜色。
|
||
|
||
希望这份最终的文档能够帮到您。再次为之前给您带来的所有麻烦,致以最深的歉意。 |