Skip to content

benbenda01/A016_Comate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

人生3D贪吃蛇 - 生命的旅程 🐍

一个创新的3D贪吃蛇游戏,用蛇的成长象征人的一生,体验从诞生到暮年的完整人生旅程。

项目简介

这是一个基于HTML、CSS、JavaScript和Three.js开发的创意3D游戏应用。蛇身的每一节代表人生的一个阶段,通过"吞食"人生目标来成长,最终完成丰富多彩的人生旅程。

核心功能

🐍 3D贪吃蛇机制

  • 蛇身即人生:蛇的每一节代表人生的一个阶段
  • 智能自动模式:AI自动寻路,演绎完整人生旅程
  • 手动控制模式:方向键操控,亲自体验人生选择
  • 3D立体空间:基于Three.js的真实3D场景渲染
  • 穿墙效果:到达边界后从对面重新出现,寓意人生轮回

🎯 人生阶段系统

  • 6个人生阶段:诞生👶、童年🧒、青春🎓、成年💼、中年👨‍👩‍👧‍👦、暮年👴
  • 阶段进化:蛇身每增长3节进入下一人生阶段
  • 独特配色:每个阶段拥有专属颜色主题
  • 渐变效果:蛇身呈现渐变色,展现人生历程

🏆 成就与目标

  • 18个人生成就:每个阶段3个独特成就里程碑
  • 目标食物:立方体代表人生目标,吃掉即解锁成就
  • 实时反馈:成就解锁时弹出精美通知
  • 进度追踪:实时显示人生长度和完成进度

💭 智慧格言系统

  • 18条人生格言:每个阶段3条独特的人生感悟
  • 随机触发:吃掉目标时30%概率显示格言
  • 阶段切换:进入新阶段自动显示对应格言

🎨 视觉特效

  • 动态光影:环境光+方向光+点光源多重照明
  • 粒子特效:阶段变化时的绚丽粒子爆发
  • 平滑动画:食物悬浮旋转,蛇身流畅移动
  • 雾效场景:远处雾化效果增强沉浸感
  • 阴影系统:真实的阴影投射和接收

🎥 相机系统

  • 多角度视野:一键切换8个不同观察角度
  • 环绕模式:45度间隔环绕主场景
  • 跟随光源:点光源跟随食物位置移动

操作指南

?? 游戏模式

  • 自动演示模式(默认):点击"开始人生"按钮,AI自动寻路完成人生旅程
  • 手动控制模式:使用方向键后自动切换为手动模式

⌨️ 键盘操作

  • 方向键 / WASD:控制蛇的移动方向
    • ↑ / W:向前移动
    • ↓ / S:向后移动
    • ← / A:向左移动
    • → / D:向右移动
  • 空格键:暂停/继续游戏

🖱️ 鼠标操作

  • 开始人生:开始游戏并启动自动模式
  • 暂停/继续:控制游戏暂停状态
  • 重新开始:重置游戏,从头开始
  • 切换视角:改变相机观察角度(8个角度)

📱 移动端适配

  • 响应式布局,完美适配手机和平板
  • 触摸操作支持(未来版本将添加虚拟摇杆)

💡 游戏技巧

  • 自动模式适合观赏:欣赏AI如何规划人生路径
  • 手动模式更具挑战:避免撞到自己,合理规划路线
  • 穿墙机制:撞到边界会从对面出来,可利用此特性
  • 收集目标:每吃一个目标蛇身增长1节,解锁1个成就
  • 完成条件:解锁全部18个成就即完成人生旅程

技术特性

前端技术栈

  • HTML5:语义化标签和现代Web标准
  • CSS3:玻璃态效果、动画、渐变、弹性布局
  • JavaScript ES6+:类、箭头函数、解构等现代特性
  • Three.js (r128):强大的WebGL 3D图形库

Three.js 核心应用

  • 场景管理:Scene、Camera、Renderer三大核心组件
  • 几何体建模:SphereGeometry(蛇身)、BoxGeometry(食物)
  • 材质系统:MeshPhongMaterial实现光照和反射效果
  • 光照系统:环境光、方向光、点光源组合照明
  • 阴影渲染:PCFSoftShadowMap实现柔和阴影
  • 雾效系统:Fog实现远处渐隐效果

游戏架构设计

  • 状态管理:GameState类集中管理游戏状态
  • 面向对象:SnakeGame3D类封装所有游戏逻辑
  • 事件驱动:键盘和鼠标事件监听器
  • 动画循环:requestAnimationFrame实现60fps渲染

算法实现

  • 智能寻路:自动模式下的简单A*算法
  • 碰撞检测:位置比较实现蛇身和食物碰撞判定
  • 边界处理:穿墙传送机制
  • 随机生成:食物位置的随机但不重叠算法

性能优化

  • WebGL硬件加速:利用GPU渲染3D场景
  • 对象池管理:蛇身节点的创建和销毁优化
  • 事件节流:移动速度控制在200ms间隔
  • 按需渲染:仅在需要时更新场景

响应式设计

  • 自适应布局:flexbox布局适配不同屏幕
  • 媒体查询:移动端优化的CSS样式
  • 窗口监听:动态调整canvas和相机视角

文件结构

A016_Comate/
├── index.html          # 主页面文件(游戏界面布局)
├── script.js           # 核心游戏逻辑(约900行)
├── styles.css          # 样式表文件(玻璃态设计)
└── README.md          # 项目说明文档

核心模块

index.html(约200行)

  • 游戏容器和Canvas画布
  • 信息面板(当前阶段、统计数据)
  • 控制面板(开始、暂停、重启、视角切换)
  • 成就通知弹窗
  • 格言提示框
  • 游戏规则说明面板
  • 游戏结束/完成面板

script.js(约900行)

  • lifeStages:6个人生阶段数据定义
  • GameState类:游戏状态管理器
  • SnakeGame3D类:主游戏引擎
    • Scene场景初始化和管理
    • 相机和光照系统设置
    • 蛇和食物的创建与移动
    • 碰撞检测和边界处理
    • AI自动寻路算法
    • UI更新和事件响应
    • 动画循环和渲染

styles.css(约600行)

  • 玻璃态(Glassmorphism)UI设计
  • 响应式布局样式
  • 动画和过场效果(淡入、滑入、脉冲)
  • 移动端适配规则

快速开始

本地运行

  1. 克隆或下载项目到本地目录
  2. 使用任意现代浏览器打开 index.html 文件
  3. 点击"开始人生"按钮,开启您的3D人生旅程!

系统要求

  • 必需:支持WebGL的现代浏览器
  • 推荐浏览器
    • Chrome 90+
    • Firefox 88+
    • Edge 90+
    • Safari 14+(macOS)
  • 不支持:IE浏览器(任何版本)

硬件要求

  • CPU:双核及以上
  • 内存:2GB及以上
  • 显卡:支持WebGL 1.0的独立或集成显卡

最佳体验建议

  • 使用宽屏显示器(16:9比例)获得完整视觉效果
  • 确保浏览器硬件加速已开启
  • 建议全屏模式(F11)获得沉浸式体验
  • 关闭其他占用GPU的程序以保证流畅运行

项目亮点

🎨 创意概念

将经典贪吃蛇游戏与人生哲学完美结合,用蛇的成长象征人生历程,寓教于乐。

🌟 3D视觉体验

基于Three.js的真实3D渲染,光影效果、粒子特效、流畅动画营造沉浸式氛围。

🤖 智能AI演示

自动寻路算法智能规划路径,可纯观赏模式体验完整人生旅程。

🎮 双模式游戏

支持自动演示和手动控制两种模式,既能观赏又能体验。

🏆 成就系统

18个精心设计的人生成就,对应6个人生阶段的关键里程碑。

💭 人生智慧

18条人生格言随机触发,在游戏中感悟人生哲理。

📱 跨平台支持

响应式设计,完美适配桌面端和移动端。

⚡ 高性能

WebGL硬件加速,60fps流畅运行,资源占用低。

扩展可能

功能扩展方向

  • 多人模式:多条蛇同时游戏,竞争人生资源
  • 自定义人生:玩家自定义阶段、成就和格言
  • 难度系统:简单/普通/困难三种速度模式
  • 音效系统:背景音乐和音效增强沉浸感
  • 排行榜:记录最长人生和最快完成时间
  • 存档系统:保存游戏进度和成就记录
  • 更多阶段:细分人生为12个阶段(童年分学前/小学等)

技术升级

  • 后端支持:Node.js + MongoDB数据持久化
  • 社交功能:分享成就到社交媒体
  • WebXR支持:VR/AR沉浸式3D体验
  • 性能优化:Web Workers处理游戏逻辑
  • PWA改造:离线可用的渐进式Web应用
  • TypeScript重构:类型安全和更好的代码维护
  • 物理引擎:集成Cannon.js实现更真实的物理效果

开源协议

本项目采用 MIT 协议开源,欢迎贡献代码和提出建议。

联系方式

如有问题或建议,欢迎通过以下方式联系:

  • 提交 Issue 反馈问题
  • 发起 Pull Request 贡献代码
  • 分享您的使用体验和改进想法

祝您人生旅程愉快! 🌟

"人生如戏,全靠演技;人生如梦,及时行乐。" —— 体验不同的人生阶段,感悟生命的美好。

About

A016_Comate

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors