Skip to content

一款经典的H5抓取类游戏,灵感来源于黄金矿工,但采用了深海探险的主题设计。

Notifications You must be signed in to change notification settings

JobYu/PixelGames

Repository files navigation

深海寻宝 (Deep Sea Treasure Hunt)

一款经典的H5抓取类游戏,灵感来源于黄金矿工,但采用了深海探险的主题设计。

🎮 游戏特色

  • 简单操作:一键发射钩子,易于上手
  • 策略深度:时间与分数的权衡,道具重量影响回收速度
  • 渐进难度:20+关卡,难度逐步递增
  • 即开即玩:无需下载,打开网页即可游戏
  • 数据持久化:使用localStorage保存游戏进度
  • 响应式设计:支持桌面和移动设备

🛠 技术栈

  • 前端框架:原生 HTML5 + JavaScript (ES6+)
  • 图形渲染:Canvas 2D API
  • 数据存储:localStorage
  • 音效系统:Web Audio API
  • 样式设计:CSS3 + Flexbox/Grid
  • 字体:Google Fonts (Orbitron)

📁 项目结构

OccenGold/
├── index.html                 # 游戏主页面
├── README.md                  # 项目说明文档
├── game_design_document.md    # 游戏策划文档
├── idea.md                    # 原始设计理念
├── config/
│   └── gameConfig.js          # 游戏配置文件
├── src/
│   ├── css/
│   │   └── main.css           # 主样式文件
│   └── js/
│       ├── utils.js           # 工具函数库
│       ├── storage.js         # 数据存储管理
│       ├── audio.js           # 音频管理器
│       ├── hook.js            # 钩子状态机
│       ├── items.js           # 道具系统
│       ├── level.js           # 关卡管理器
│       ├── game.js            # 游戏核心逻辑
│       ├── ui.js              # UI管理器
│       └── main.js            # 主入口文件
└── assets/                    # 资源文件夹(预留)
    ├── images/                # 图片资源
    └── audio/                 # 音频资源

🚀 如何运行

方法一:直接打开HTML文件

  1. 下载项目文件到本地
  2. 使用现代浏览器打开 index.html 文件
  3. 开始游戏!

方法二:使用本地服务器(推荐)

# 使用Python
python -m http.server 8000

# 或使用Node.js
npx http-server

# 或使用PHP
php -S localhost:8000

然后在浏览器中访问 http://localhost:8000

方法三:在线部署

可以直接部署到以下平台:

  • GitHub Pages
  • Netlify
  • Vercel
  • Firebase Hosting

🎯 游戏玩法

基础操作

  • 桌面端:点击鼠标或按空格键发射钩子
  • 移动端:点击屏幕任意位置发射钩子

游戏机制

  1. 钩子摆动:钩子会左右摆动,选择合适角度发射
  2. 道具抓取:钩子碰到道具后会自动抓取并返回
  3. 重量影响:不同道具有不同重量,影响钩子回收速度
  4. 分数目标:在时间限制内达到目标分数即可过关
  5. 星级评价:根据得分情况获得1-3星评价

道具类型

  • 金块系列:基础得分道具,重量适中
  • 钻石:高分道具,重量较轻
  • 石头:低分道具,重量较重
  • 鱼类:会移动的道具,增加抓取难度

🔧 开发相关

核心架构

游戏采用模块化设计,主要包含以下系统:

  1. 钩子状态机:管理摆动、发射、回收、结算四个状态
  2. 道具系统:基于继承的道具类设计,支持静态和动态道具
  3. 关卡系统:数据驱动的关卡配置,支持程序生成
  4. UI管理:统一的界面状态管理
  5. 数据持久化:基于localStorage的本地存储

调试功能

在本地开发环境中可使用以下快捷键:

  • Ctrl + D:切换调试模式
  • Ctrl + R:重置游戏数据
  • Ctrl + L:解锁所有关卡

或在控制台中使用:

// 访问调试API
window.DebugAPI.unlockAllLevels();  // 解锁所有关卡
window.DebugAPI.resetData();        // 重置数据

扩展开发

要添加新功能,可参考以下模块:

  1. 新道具类型:在 items.js 中继承 BaseItem
  2. 新关卡机制:在 level.js 中扩展关卡生成逻辑
  3. 新UI界面:在 ui.js 中添加界面管理方法
  4. 新音效:在 audio.js 中添加音效生成函数

🌐 兼容性

  • 现代浏览器:Chrome 60+、Firefox 55+、Safari 12+、Edge 79+
  • 移动设备:iOS Safari 12+、Android Chrome 60+
  • 功能要求:Canvas 2D、localStorage、Web Audio API

📋 游戏数据

游戏数据存储在浏览器的localStorage中,包含:

  • 最高分记录
  • 关卡完成情况
  • 游戏设置选项

如需重置游戏数据,可在设置中操作或使用调试快捷键。

🔄 版本历史

v1.0.0 (当前版本)

  • ✅ 实现基础游戏玩法
  • ✅ 钩子状态机系统
  • ✅ 多种道具类型
  • ✅ 关卡系统和进度保存
  • ✅ 响应式UI设计
  • ✅ 基础音效系统

计划中的功能

  • 🔄 更多道具类型和特殊效果
  • 🔄 成就系统
  • 🔄 粒子特效系统
  • 🔄 背景音乐
  • 🔄 多主题关卡背景
  • 🔄 Google AdSense广告集成

📞 反馈与贡献

欢迎提交Issue和Pull Request来改进游戏!

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


祝您游戏愉快!🎮

About

一款经典的H5抓取类游戏,灵感来源于黄金矿工,但采用了深海探险的主题设计。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published