# 贪吃蛇 **Repository Path**: MoYunKai/greedy-snake ## Basic Information - **Project Name**: 贪吃蛇 - **Description**: 一个基于基础贪吃蛇功能进行扩展的贪吃蛇游戏 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-03 - **Last Updated**: 2025-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🐍 贪吃蛇之王 (SnakeKing) 一个功能丰富的C++贪吃蛇游戏,支持单人、双人对战和AI对战三种模式。 #### 作者: - 523030910127 杨文潇 - 523030910128 莫韫恺 ## 🎯 游戏模式 ### 1. 单人模式 (Single Player) - **经典玩法**: 控制蛇吃食物,避免撞墙和撞到自己 - **Bonus食物**: 每吃5个普通食物会出现限时星形Bonus食物(⭐),吃掉后蛇身增长5格 - **敌人阻碍**: 随机游走的僵尸马,蛇蛇的拦路虎 - **多种地图**: 6种不同的地图布局,包含各种障碍物 - **暂停与存档**: 支持游戏暂停和游戏存档 - **排行榜**: 记录玩家的五个最高分 ### 2. 双人对战模式 (Two Player) - **本地对战**: 两个玩家在同一屏幕上竞技 - **Bonus食物**: 两条蛇总计吃到5个食物会出现Bonus食物 - **胜负判定**: 先撞墙或撞到对方的蛇身则失败 ### 3. 人机对战模式 (VS AI) - **智能AI**: 具有不同行为模式的AI对手 - **三种难度**: - Level 1: 普通贪吃蛇 - 温和AI,适合新手 - Level 2: 暴力蛇 - 攻击性AI,中等难度 - Level 3: 蛇王 - 智能AI,极高难度 - **Bonus食物**: AI和玩家总计吃到10个食物会出现Bonus食物 - **AI特性**: 具有路径规划、食物追踪、攻击防御策略 ## 🎨 游戏特色 ### 自定义选项 - **6种地图**: 从无障碍经典地图到复杂的螺旋障碍地图 - **多种皮肤**: - 蛇皮肤: 经典(@)、ZeroBody(0)、尖锐(▲▼◀▶) - 食物皮肤: 经典(#)、圆形(O)、钻石(◈)、温泉(♨)、爱心(♥)、笑脸(☺) - **7种颜色**: 白色、红色、绿色、蓝色、洋红、青色、黄色 ### 游戏系统 - **Bonus食物系统**: 黄色星形食物,持续10秒,吃掉后蛇身增长5格 - **能量系统**: 消耗能量可以获得短暂加速(单人模式无限能量) - **音效系统**: 背景音乐和丰富的游戏音效 - **存档系统**: 支持游戏进度保存和加载 ## 🎮 游戏操作 ### 主菜单操作 - **方向键**: 选择菜单项 - **回车键**: 确认选择 - **ESC键**: 返回上级菜单或退出 ### 游戏内操作 #### 单人模式 - **方向键**: 控制蛇的移动方向 - **空格键**: 加速 - **P键**: 暂停/继续游戏 - **ESC键**: 返回主菜单 #### 双人对战模式 - **玩家1**: WASD控制移动,空格键加速 - **玩家2**: 方向键控制移动,0键或“/”键加速 - **P键**: 暂停游戏 #### 人机对战模式 - **WASD**: 控制蛇的移动方向 - **空格键**: 消耗能量加速 - **P键**: 暂停游戏 ## 💻 快速开始 ### 编译运行 1. 确保项目在英文路径下 2. 打开命令行,进入项目目录 3. 运行编译命令: ```bash make ``` 4. 运行游戏: ```bash ./SnakeKing.exe ``` ### 系统要求 - **操作系统**: Windows 10/11 - **编译器**: GCC 4.9+ (项目自带MinGW) - **依赖库**: PDCurses (UI)、SFML 2.x (音频) ## 🛠️ 技术实现 ### 核心技术 - **语言**: C++11 - **UI库**: PDCurses (跨平台终端界面) - **音频**: SFML Audio (背景音乐和音效) - **编译**: MinGW-w64 (Windows) ### 项目结构 ``` greedy-snake/ ├── src/ # 源代码 ├── include/ # 头文件 ├── mingw32/ # MinGW-w64编译器 ├── obj/ # cpp文件编译后生成的中间文件 ├── sfml/ # SFML库 ├── soundlib/ # 音频文件 ├── Makefile # 编译脚本 ├── SnakeKing.exe # 编译后的可执行文件 ├── ...... # 各种依赖 └── README.md # 项目说明 ```