Skip to content

VonSdite/wx_game

Repository files navigation

my_game

一个基于原生微信小程序实现的小游戏合集。项目当前提供 4 个独立游戏页面,首页负责统一展示和跳转,适合作为小游戏原型、Canvas 交互练习和小程序多页面项目参考。

小程序入口

  • 微信小程序:Sdite Game

项目特点

  • 原生微信小程序实现,无额外前端框架依赖
  • 首页统一管理游戏入口,游戏注册集中在 pages/games/gameRegistry.js
  • 包含 Canvas 游戏、规则推演游戏、汉字构形解谜等多种玩法
  • 使用 wx 本地存储保存分数、设置和关卡记录
  • app.js 注入了全局分享配置,并接入了小程序更新管理

当前包含的游戏

游戏 类型 说明
箭域迷阵 连锁消除 / 益智 8×8 棋盘,点击一个起点后触发箭头连锁,目标是一次清空全盘;支持提示、逐步模式、箭头权重调节
Ball Defender 反弹打砖块 Canvas 小球弹射游戏,支持历史最高分、断点续玩、长按加速和可选的小球碰撞设置
生命游戏 规则推演 / 观赏 基于 Conway's Game of Life,包含预测模式和观赏模式,支持难度切换、自动演化和预设图案
精准造字 汉字构形 / 路径规划 6×6 棋盘、6 个部首、每回合选 4 个部首组字并沿相邻格移动;内置 21 个关卡,支持撤销、计时和最佳记录

技术栈

  • 微信小程序原生:JS + WXML + WXSS
  • CommonJS 模块组织
  • Canvas 2D:arrowMazeballDefender
  • 微信 API:wx.createInnerAudioContextwx.getStorageSyncwx.setStorageSyncwx.getUpdateManager
  • 题库辅助脚本:Python(仅 charPuzzle/check 使用,不参与小程序运行)

本地运行

方式一:微信开发者工具

  1. 安装并打开微信开发者工具。
  2. 选择“导入项目”。
  3. 项目目录指向仓库根目录:000my_game
  4. 使用 project.config.json 中的配置导入项目;如果你的环境需要自己的 AppID,可自行替换。
  5. 编译后从首页进入各游戏页面进行调试。

说明:

  • 项目没有 npm 依赖,通常不需要执行 npm install
  • 当前项目类型为 miniprogram
  • packOptions.ignore 已忽略 .gitopenspecpages/games/charPuzzle/check 等非运行目录

开发说明

页面入口

  • 小程序页面在 app.json 中注册
  • 首页逻辑在 pages/index/index.js
  • 首页展示内容来自 pages/games/gameRegistry.js

如果要新增一个游戏,最少需要完成下面几步:

  1. pages/games/ 下新建独立目录和页面文件
  2. app.json 中注册页面路径
  3. pages/games/gameRegistry.js 中加入游戏元信息
  4. 如果首页要展示该游戏,保证注册表中包含 idnamedescriptionpagePath

存档与本地存储

项目当前使用如下本地存储键:

  • arrowMazeWeights:箭域迷阵的箭头权重设置
  • ball_defender_high_score:Ball Defender 历史最高分
  • ball_defender_game_state:Ball Defender 断点续玩状态
  • ball_defender_settings:Ball Defender 设置项
  • charPuzzle_records:精准造字各关最佳成绩

精准造字题库

pages/games/charPuzzle 除了运行时页面,还包含一套离线题库辅助文件:

  • levels.js:内置关卡数据与参考解
  • charCombinations.js:部首与字根的组合映射
  • check/solver.pycheck/checker.pycheck/generate.py:用于校验或生成关卡
  • check/rule.md:把玩法抽象成搜索 / 剪枝问题的说明

这些脚本主要面向题库维护,不属于小程序运行链路。

已实现的细节能力

  • 全局默认分享文案注入
  • 小程序热更新提示
  • Canvas 高分屏适配
  • 音效资源复用
  • 规则弹窗、结果弹窗、设置弹窗
  • 本地记录恢复和持久化

备注

  • 当前仓库未配置自动化测试与 CI,主要依赖微信开发者工具进行手动调试
  • .eslintrc.js 已提供基础 ESLint 配置,但仓库本身没有锁定一套 npm 形式的 lint 工作流

About

Wechat game. 个人微信小游戏

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors