# whaleTown

一个使用 Godot 4.5 引擎开发的游戏项目。

## 项目信息

- **引擎版本**: Godot 4.5
- **渲染器**: Forward Plus
- **项目类型**: 2D 游戏

## 项目结构

```
whaleTown/
├── addons/          # Godot 插件目录
├── assets/          # 游戏资源文件（图片、音频等）
├── data/            # 游戏数据文件（配置、关卡数据等）
├── docs/            # 项目文档
├── scenes/          # 游戏场景文件
│   └── main_scene.tscn  # 主场景
├── scripts/         # GDScript 脚本文件
├── tests/           # 测试文件
├── icon.svg         # 项目图标
└── project.godot    # Godot 项目配置文件
```

## 开始使用

### 前置要求

- [Godot Engine 4.5](https://godotengine.org/download) 或更高版本

### 运行项目

1. 克隆或下载此项目
2. 使用 Godot 编辑器打开项目
3. 在编辑器中点击"运行"按钮或按 F5 键启动游戏

### 开发指南

- **场景文件**: 所有场景文件存放在 `scenes/` 目录
- **脚本文件**: 所有 GDScript 脚本存放在 `scripts/` 目录
- **资源文件**: 图片、音频等资源存放在 `assets/` 目录
- **游戏数据**: 配置文件、关卡数据等存放在 `data/` 目录

### 命名规范

本项目遵循统一的命名规范以保持代码一致性：

**核心规则**：

- **场景文件**：`下划线_scene.tscn` 或 `下划线_prefab.tscn`
  - 示例：`main_scene.tscn`、`player_prefab.tscn`
- **脚本文件**：`PascalCase.gd`（大驼峰）
  - 示例：`PlayerController.gd`、`UI_MainMenu.gd`
- **节点名称**：`camelCase`（小驼峰）
  - 示例：`playerHpBar`、`startButton`
- **变量/函数**：`camelCase`（小驼峰）
  - 示例：`var moveSpeed`、`func getPlayerPos()`
- **常量**：`UPPER_CASE`（全大写 + 下划线）
  - 示例：`const MAX_HEALTH = 100`
- **资源文件**：`lower_case`（小写 + 下划线）
  - 示例：`bg_main_menu.png`、`sound_jump.wav`

📖 查看完整的 [命名规范文档](docs/naming_convention.md)

### Git 提交规范

本项目遵循统一的 Git 提交信息格式：`<类型>：<描述>`

**常用提交类型**：

- `init`：项目初始化
- `feat`：新增功能
- `fix`：修复 Bug
- `docs`：文档更新
- `scene`：场景文件相关
- `asset`：资源文件相关
- `ui`：UI 界面相关
- `gameplay`：游戏玩法相关
- `refactor`：代码重构
- `perf`：性能优化

**提交示例**：

```bash
git commit -m "init：项目初始化，搭建Godot文件结构"
git commit -m "feat：实现玩家角色的移动和跳跃"
git commit -m "fix：修复敌人穿墙的碰撞问题"
git commit -m "scene：创建战斗场景并配置相机"
```

📖 查看完整的 [Git 提交规范文档](docs/git_commit_guide.md)

## 贡献

欢迎提交 Issue 和 Pull Request！

## 许可证

[在此添加许可证信息]
