Files
game-2046/文档.md
2025-11-05 13:37:16 +08:00

119 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 《数字合成》游戏脚本说明文档 (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"`: 控制鼠标悬停在按钮上时的颜色。
希望这份最终的文档能够帮到您。再次为之前给您带来的所有麻烦,致以最深的歉意。