Skip to content

Repository files navigation

Mastermind 破译密码 - 微信小游戏

一个经典的密码破译逻辑推理小游戏,带有积分排行榜功能。

游戏说明

游戏规则

  • 目标:在10次尝试内猜出正确的4色密码组合
  • 反馈系统
    • 位置对:颜色和位置都正确
    • 颜色对:颜色正确但位置错误
  • 颜色选择:红、绿、蓝、黄、紫、青 共6种颜色
  • 积分系统
    • 赢:1000 + (10 - 尝试次数) × 100 分
    • 输:0 分

游戏操作

  • 选择颜色:点击下方6个颜色圆形按钮
  • 提交猜测:点击绿色"提交"按钮
  • 撤销:点击"撤销"按钮移除最后一个颜色
  • 清空:点击"清空"按钮清除当前猜测
  • 查看排行榜:在游戏结束后点击"查看排行榜"

源码目录介绍

├── audio                                      // 音频资源
├── images                                     // 图片资源
├── js
│   ├── base
│   │   ├── animation.js                       // 帧动画的简易实现
│   │   ├── pool.js                            // 对象池的简易实现
│   │   └── sprite.js                          // 游戏基本元素精灵类
│   ├── libs
│   │   └── tinyemitter.js                     // 事件监听和触发
│   ├── npc
│   │   └── enemy.js                           // 敌机类(兼容代码)
│   ├── player
│   │   ├── bullet.js                          // 子弹类(兼容代码)
│   │   └── index.js                           // 玩家类(兼容代码)
│   ├── runtime
│   │   ├── background.js                      // 背景类(兼容代码)
│   │   ├── gameinfo.js                        // UI管理
│   │   └── music.js                           // 全局音效管理器
│   ├── databus.js                             // 管控游戏状态
│   ├── mastermind.js                          // Mastermind游戏逻辑核心
│   ├── leaderboard.js                         // 排行榜系统
│   ├── main.js                                // 游戏入口主函数
│   └── render.js                              // 基础渲染信息
├── .eslintrc.js                               // 代码规范
├── game.js                                    // 游戏逻辑主入口
├── game.json                                  // 游戏运行时配置
├── project.config.json                        // 项目配置
└── project.private.config.json                // 项目个人配置

核心类介绍

Mastermind 类 (js/mastermind.js)

核心游戏逻辑类,负责:

  • 生成随机密码
  • 处理玩家猜测
  • 计算反馈信息
  • 管理游戏状态

主要方法:

  • addColor(colorIndex) - 添加颜色
  • submitGuess() - 提交猜测
  • undoColor() - 撤销颜色
  • clearGuess() - 清空猜测

Leaderboard 类 (js/leaderboard.js)

排行榜管理系统,负责:

  • 保存游戏得分
  • 管理高分排名
  • 查询玩家分数

主要方法:

  • addScore() - 添加新分数
  • getTopScores() - 获取前N名
  • getPlayerBestScore() - 获取玩家最高分

Main 类 (js/main.js)

游戏主控制器,负责:

  • 游戏循环
  • 触摸事件处理
  • 界面管理

游戏界面

游戏界面

  • 显示当前尝试次数
  • 显示历史猜测和反馈
  • 6个颜色选择按钮
  • 提交、撤销、清空按钮

游戏结束界面

  • 显示游戏结果
  • 显示最终得分
  • 失败时显示正确答案
  • 重新开始和排行榜按钮

排行榜界面

  • 显示前10名玩家
  • 显示玩家分数
  • 返回游戏按钮

技术特点

  • 原生Canvas 2D绘制
  • 微信小游戏API存储
  • TinyEmitter事件系统
  • 完整的触摸交互支持

如何运行

  1. 使用微信开发者工具打开项目文件夹
  2. 点击"预览"或"真机调试"
  3. 按照游戏提示进行操作

About

masterminigame is a wechat miniprogram

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages