Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Dependency directories
node_modules/

# Runtime data
*.log
logs/
*.pid
*.seed

# OS generated files
.DS_Store
Thumbs.db

# Editor directories and files
.vscode/
.idea/
*.swp
*.swo

# Temporary files
*.tmp
*.temp
122 changes: 122 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
# 贪吃蛇游戏 🐍

这个项目包含两个版本的贪吃蛇游戏:

## 1. 网页版贪吃蛇 (`snake-game.html`)

### 特点:
- 🎨 精美的渐变背景和透明效果
- 🕹️ 支持键盘和触摸控制
- 📱 响应式设计,适配移动设备
- 🎵 流畅的动画效果
- 🏆 实时得分显示

### 如何运行:
1. 直接在浏览器中打开 `snake-game.html` 文件
2. 或者启动一个本地服务器:
```bash
# 使用 Python
python3 -m http.server 8000

# 或者使用 Node.js
npx serve .
```

### 控制方式:
- **键盘**:使用方向键控制蛇的移动
- **触摸**:点击屏幕上的方向按钮
- **空格键**:游戏结束后重新开始

## 2. 命令行版贪吃蛇 (`snake-game.js`)

### 特点:
- 🖥️ 纯命令行界面
- 🎮 使用 Unicode 字符显示游戏画面
- ⚡ 轻量级,无需浏览器
- 🔄 支持游戏重新开始

### 如何运行:
```bash
# 确保已安装 Node.js
node snake-game.js

# 或者直接执行(需要执行权限)
chmod +x snake-game.js
./snake-game.js
```

### 控制方式:
- **方向键**:控制蛇的移动
- **q**:退出游戏
- **r**:游戏结束后重新开始
- **Ctrl+C**:强制退出

## 游戏规则 📖

1. **目标**:控制蛇吃食物,让蛇变得越来越长
2. **得分**:每吃一个食物得 10 分
3. **结束条件**:
- 蛇撞到墙壁
- 蛇撞到自己的身体
4. **移动规则**:蛇不能立即反向移动(例如向上移动时不能直接向下)

## 游戏截图 🖼️

### 网页版
- 现代化的 UI 设计
- 渐变背景和毛玻璃效果
- 触摸友好的控制按钮

### 命令行版
```
🐍 贪吃蛇游戏
得分: 50
----------------------------
⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛
⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛
⬛⬛⬛⬛🟢🟩🟩⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛
⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛🍎⬛⬛⬛⬛⬛⬛⬛⬛⬛
⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛
```

## 技术实现 🛠️

### 网页版:
- **HTML5 Canvas** 用于游戏渲染
- **CSS3** 动画和现代 UI 效果
- **JavaScript ES6+** 游戏逻辑
- **响应式设计** 适配多种设备

### 命令行版:
- **Node.js** 运行环境
- **readline** 模块处理键盘输入
- **Unicode 字符** 显示游戏元素
- **ANSI 转义序列** 控制终端显示

## 扩展功能 🚀

可以考虑添加的功能:
- [ ] 难度级别选择
- [ ] 最高分记录
- [ ] 音效和背景音乐
- [ ] 多种游戏模式
- [ ] 网络多人对战
- [ ] 自定义皮肤主题

## 系统要求 💻

### 网页版:
- 现代浏览器(Chrome、Firefox、Safari、Edge)
- 支持 HTML5 Canvas

### 命令行版:
- Node.js 12+
- 支持 ANSI 转义序列的终端

## 许可证 📄

MIT License - 可自由使用和修改

---

享受游戏吧!🎮
21 changes: 21 additions & 0 deletions demo.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

echo "🐍 贪吃蛇游戏演示"
echo "=================="
echo ""

echo "📁 项目文件:"
ls -la

echo ""
echo "🎮 游戏版本:"
echo "1. 网页版:snake-game.html - 在浏览器中打开"
echo "2. 命令行版:snake-game.js - 在终端中运行"

echo ""
echo "🚀 快速启动命令:"
echo "网页版服务器:npm run web"
echo "命令行版游戏:npm start"

echo ""
echo "📖 查看完整说明:cat README.md"
24 changes: 24 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "snake-game",
"version": "1.0.0",
"description": "经典贪吃蛇游戏 - 网页版和命令行版",
"main": "snake-game.js",
"scripts": {
"start": "node snake-game.js",
"web": "python3 -m http.server 8000",
"serve": "npx serve ."
},
"keywords": [
"snake",
"game",
"贪吃蛇",
"javascript",
"html5",
"canvas"
],
"author": "Engine AI",
"license": "MIT",
"engines": {
"node": ">=12.0.0"
}
}
Loading