【新春创造营】+ 马年新春鞭炮蛇

# 马年新春鞭炮蛇 - 项目文档

## :open_book: 项目简介

****马年新春鞭炮蛇****是一款以马年为主题的新春贪吃蛇游戏,玩家控制一条由鞭炮组成的马头神蛇,与3个AI机器人竞技,吃掉各种新春食物来增长身体并争夺第一名。

### 游戏特色

- :horse_face: **马年主题**:马头造型的蛇头,蛇身为红色鞭炮串

- :rainbow: **彩虹蛇身**:每条蛇都有独特的彩虹色渐变效果

- :video_game: **AI竞技**:与3个AI机器人(赤兔、汗血、追风)实时对战

- :candy: **新春食物**:6种不同效果的新春食物

- :sparkles: **炫酷特效**:粒子爆炸、烟花庆祝、发光效果

- :trophy: **实时排名**:右上角显示实时排名和长度

-–

## :hammer_and_wrench: 使用到的 iFlow CLI 功能

本项目主要使用了以下 iFlow CLI 功能:

### 1. 文件操作

- `write_file` - 创建游戏HTML文件、配置文件、部署脚本

- `read_file` - 读取现有代码进行分析和修改

- `replace` - 修改游戏逻辑和视觉效果

### 2. 系统命令

- `run_shell_command` - 执行PowerShell命令

- 创建目录

- 复制文件

- 初始化Git仓库

- 提交代码

### 3. 浏览器测试

- `task` (frontend-tester) - 验证游戏功能和视觉效果

- 游戏启动测试

- 视觉效果验证

- 功能完整性检查

- 问题诊断和修复

### 4. 任务管理

- `todo_write` - 创建和管理开发任务

- `todo_read` - 跟踪任务进度

-–

## :bullseye: 实现过程

### 第一阶段:游戏基础框架

**任务1:创建游戏HTML结构**

- 设计响应式游戏容器

- 创建开始界面、游戏界面、结束界面

- 设置马年主题配色(红金配色)

**任务2:实现核心游戏逻辑**

- 蛇的移动控制(方向键/WASD)

- 边界环绕机制

- 食物生成和碰撞检测

- 得分和长度计算

### 第二阶段:马年主题视觉

**任务3:马头蛇设计**

- 使用Canvas绘制马头造型

- 添加马鬃、马耳、马眼、马鼻

- 根据移动方向旋转马头

**任务4:鞭炮身体设计**

- 红色圆形鞭炮主体

- 金色边框装饰

- 鞭炮芯细节

**任务5:新春食物系统**

- :horse_face: 马年福字 - 普通成长(10分)

- :red_envelope: 红包 - 临时加速(5分)

- :candy: 糖葫芦 - 增长身体(15分)

- :dumpling: 饺子 - 增加粗细(20分)

- :horse_face: 金马币 - 高分奖励+烟花(50分)

- :cherry_blossom: 桃花 - 短暂无敌(25分)

### 第三阶段:AI对手系统

**任务6:AI蛇实现**

- 创建3个AI机器人(赤兔、汗血、追风)

- 实现AI觅食算法

- 添加碰撞避让逻辑

- 分散初始位置到四个角落

### 第四阶段:特效系统

**任务7:粒子特效**

- 吃食物时的粒子爆炸

- 死亡时的鞭炮爆炸效果

- 粒子重力模拟

**任务8:烟花系统**

- 金马币触发的烟花庆祝

- 多色烟花爆炸效果

- 烟花物理模拟

### 第五阶段:优化与修复

**任务9:修复初始碰撞问题**

- 调整玩家和AI蛇的初始位置

- 添加初始无敌时间(100帧)

- 优化AI重置位置

**任务10:增强视觉效果**

- 增强食物发光效果(双层发光圆圈)

- 提高玩家蛇辨识度(金色边框、发光效果)

- 添加暂停功能(空格键)

- 添加右上角排名面板

**任务11:彩虹蛇效果**

- 实现彩虹色渐变系统

- 每条蛇使用不同的起始色相

- 玩家蛇更鲜艳(饱和度100%,亮度60%)

- AI蛇稍暗(饱和度70%,亮度50%)

### 第六阶段:部署准备

**任务12:在线部署**

- 创建Web服务器目录

- 准备Netlify部署文件

- 生成部署说明文档

-–

## :artist_palette: 视觉设计

### 配色方案

| 元素 | 颜色 | 说明 |

|------|------|------|

| 背景 | 渐变红 | #8B0000#DC143C#FF4500 |

| 玩家蛇 | 金色 | #FFD700 |

| 赤兔(AI) | 番茄红 | #FF6347 |

| 汗血(AI) | 青色 | #00CED1 |

| 追风(AI) | 紫色 | #9370DB |

| 鞭炮主体 | 深红 | #DC143C |

| 鞭炮边框 | 金色 | #FFD700 |

### 蛇的彩虹色分配

| 蛇名 | 起始色相 | 颜色系 | 彩虹色范围 |

|------|----------|--------|------------|

| 你(玩家) | 60° | 黄色系 | 黄→绿→青→蓝→紫→红→橙 |

| 赤兔(AI) | 0° | 红色系 | 红→橙→黄→绿→青→蓝→紫 |

| 汗血(AI) | 120° | 青色系 | 青→蓝→紫→红→橙→黄→绿 |

| 追风(AI) | 240° | 紫色系 | 紫→红→橙→黄→绿→青→蓝 |

-–

## :camera_with_flash: 游戏截图

### 游戏启动界面

- 显示游戏标题和马年吉祥话

- 列出6种食物及其效果

- AI机器人介绍

### 游戏进行中

- 4条蛇在竞技场中移动

- 食物发光效果清晰可见

- 右上角实时排名面板

- 玩家蛇有金色边框和"★ 你 ★"标识

### 暂停界面

- 半透明黑色遮罩

- 显示":pause_button: 游戏暂停"

- 提示"按空格键继续"

### 游戏结束界面

- 显示最终得分和长度

- 根据排名显示马年吉祥话

- "再来一局"按钮

-–

## :video_game: 游戏操作

### 控制方式

- **方向键****WASD** - 控制蛇的移动方向

- **空格键** - 暂停/恢复游戏

### 游戏目标

- 吃掉食物增长身体

- 避免撞到其他蛇

- 争夺第一名

- 获得最高分

### 食物效果

- **普通食物**:增加长度和分数

- **红包**:临时加速3秒

- **糖葫芦**:增长2节身体

- **饺子**:增加蛇身粗细

- **金马币**:高分奖励+烟花特效

- **桃花**:短暂无敌100帧

-–

## :wrench: 技术栈

### 前端技术

- **HTML5** - 页面结构

- **CSS3** - 样式和动画

- **Canvas API** - 游戏渲染

- **JavaScript** - 游戏逻辑

### 核心算法

- **碰撞检测** - 蛇与食物、蛇与蛇的碰撞

- **AI决策** - 最近食物查找、碰撞避让

- **粒子系统** - 爆炸和烟花效果

- **HSL颜色模型** - 彩虹色渐变

-–

## :package: 文件结构

```

d:\pythonCode\web\

├── horse_year_snake_game.html # 游戏主文件

├── index.html # 自动跳转文件

├── start-server.ps1 # 本地服务器脚本

├── 部署说明.txt # Netlify部署说明

├── .gitignore # Git忽略文件

└── .git/ # Git仓库目录

```

-–

## :rocket: 在线体验

### 部署方式

**Netlify部署(推荐)**

1. 访问 Netlify

2. 拖拽 `web` 文件夹到上传区域

3. 等待几秒,获得在线链接

**### 体验链接:**马年新春鞭炮蛇

## :confetti_ball: 马年吉祥话

游戏中随机显示的马年吉祥话:

- 马到成功!

- 一马当先!

- 龙马精神!

- 马年大吉!

- 万马奔腾!

- 马到功成!

- 快马加鞭!

- 汗马功劳!

-–

## :chart_increasing: 开发统计

- **开发时间**:约2小时

- **代码行数**:约1200行

- **功能模块**:12个主要模块

- **测试迭代**:3次

- **Bug修复**:3个

-–

## :bullseye: 后续优化建议

1. **音效系统** - 添加吃东西、碰撞、胜利的音效

2. **关卡模式** - 设计不同难度的关卡

3. **多人在线** - 支持实时多人对战

4. **成就系统** - 添加游戏成就和徽章

5. **皮肤系统** - 解锁不同的蛇头和身体皮肤

6. **移动端适配** - 优化触摸控制

-–

## :folded_hands: 致谢

感谢使用 iFlow CLI 开发此项目!

**开发工具**:iFlow CLI

**开发平台**:Windows

**开发日期**:2026年2月9日

**祝你马年大吉,游戏愉快!:confetti_ball:**

可以!看私信哦

没有私信欸 :grinning_face:

没收到吗?那就私聊吧~

已留言,看你的右上角这里