Skip to content

LIUQiu111/pictionary-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

你画我猜游戏 (Pictionary Game)

一个基于 Node.js 和 Socket.io 开发的多人在线绘画游戏,支持实时绘画、猜测、聊天和得分排名。

🎯 功能特性

核心游戏功能

  • 10轮游戏模式:每轮随机选择画家,轮流绘画
  • 实时绘画:HTML5 Canvas 实现流畅绘画体验
  • 智能猜测:实时判断猜测是否正确
  • 倒计时系统:每轮60秒倒计时
  • 词汇提示:游戏过程中提供词汇提示
  • 防止重复词汇:10轮游戏中词汇不重复
  • 结束游戏功能:支持中途结束游戏并结算得分

界面与用户体验

  • 响应式设计:适配不同设备屏幕
  • 渐变风格:现代化的渐变色彩设计
  • 实时聊天:游戏前后支持玩家聊天
  • 游戏结束结算:显示详细得分排名和获胜者
  • 一键复制游戏ID:方便分享游戏房间
  • 在线状态检测:实时显示玩家在线状态

技术特性

  • Socket.io实时通信:低延迟的实时数据传输
  • 多房间支持:同时支持多个游戏房间
  • 完善的错误处理:友好的错误提示
  • 详细的日志系统:便于问题排查
  • 保活机制:支持后台运行和自动重启

🛠️ 技术栈

技术 版本 用途
Node.js 14.0+ 运行环境
Express ^4.18.2 Web服务器
Socket.io ^4.7.2 实时通信
HTML5 Canvas - 绘画功能
Tailwind CSS - 响应式样式

📦 安装与部署

方法一:直接部署

1. 克隆项目

git clone https://github.com/LIUQiu111/pictionary-game.git
cd pictionary-game

2. 安装依赖

npm install

3. 启动服务器

# 开发模式
npm run dev

# 生产模式
npm start

方法二:使用启动脚本(Linux)

1. 克隆项目

git clone https://github.com/LIUQiu111/pictionary-game.git
cd pictionary-game

2. 运行启动脚本

# 添加执行权限
chmod +x start.sh

# 运行脚本
./start.sh

方法三:宝塔面板部署

1. 上传项目

  • 在宝塔面板中创建网站目录
  • 上传项目文件到目录

2. 安装依赖

# 使用宝塔的Node.js
/www/server/nodejs/v14/bin/npm install

3. 启动服务器

# 进入项目目录
cd /www/wwwroot/你画我猜/你画我猜

# 运行启动脚本
./start.sh

🚀 使用方法

1. 创建游戏

  1. 打开 http://your-server-ip:3000
  2. 输入用户名
  3. 点击"创建游戏"
  4. 复制生成的游戏ID

2. 加入游戏

  1. 打开 http://your-server-ip:3000
  2. 输入用户名和游戏ID
  3. 点击"加入游戏"

3. 开始游戏

  • 等待其他玩家加入
  • 点击"开始游戏"按钮
  • 轮流担任画家,其他玩家猜测

4. 游戏操作

  • 画家:选择词汇并在画板上绘画
  • 猜词者:在猜测框中输入猜测的词汇
  • 聊天:游戏前后可以在聊天框交流
  • 结束游戏:点击"结束游戏"按钮可中途结束

🔒 保活脚本使用(推荐)

为了确保游戏服务器稳定运行,我提供了一个简易的保活脚本,可以自动检测并重启服务器进程。

步骤1:启动保活脚本

# 进入项目目录
cd /www/wwwroot/你画我猜/你画我猜

# 添加执行权限
chmod +x keep_alive.sh
chmod +x start.sh

# 后台启动保活脚本
nohup ./keep_alive.sh > /dev/null 2>&1 &

步骤2:验证保活效果

# 查看运行状态
ps -ef | grep keep_alive.sh
ps -ef | grep server.js

# 测试自动重启
kill -9 $(ps -ef | grep "node server.js" | grep -v grep | awk '{print $2}')
sleep 10
ps -ef | grep server.js  # 应该能看到新的进程

步骤3:查看保活日志

# 查看保活日志
cat keep_alive.log

# 实时查看日志
tail -f keep_alive.log

步骤4:设置开机自启

# 编辑自启文件
nano /etc/rc.local

# 添加以下内容(在exit 0之前)
cd /www/wwwroot/你画我猜/你画我猜 && nohup ./keep_alive.sh > /dev/null 2>&1 &

# 添加执行权限
chmod +x /etc/rc.local

📁 项目结构

About

多人在线你画我猜游戏,支持实时绘画、猜测、聊天和得分排名

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors