游戏启动中心(包含简单小游戏) - 仓颉语言版

📅 2026/7/31 12:50:03
游戏启动中心(包含简单小游戏) - 仓颉语言版
游戏启动中心 - 仓颉语言版目录项目简介功能特性 游戏管理 推箱子游戏功能◯ 五子棋游戏功能 画图游戏功能️ 界面特性 数据持久化项目结构技术栈运行方式方式一双击启动脚本推荐方式二直接打开游戏选择界面方式三直接打开推箱子游戏方式四运行仓颉程序游戏操作键盘操作触摸操作界面按钮计分规则基于难度的分数系统惩罚机制关卡信息游戏元素项目亮点技术架构前端架构后端架构AI架构五子棋开发环境前端开发后端开发操作系统安装与配置已知问题未来规划配置文件退出行为项目链接项目简介这是一个使用仓颉语言开发的游戏启动中心包含经典推箱子Sokoban游戏、五子棋游戏和画图游戏采用前后端分离架构。项目包含完整的游戏逻辑、现代化的 Web 界面、数据持久化功能和游戏管理界面支持人类玩家与AI对手进行对战以及自由创作的画图功能。功能特性 游戏管理游戏选择界面集中管理多个游戏的启动和退出推箱子游戏经典的推箱子益智游戏五子棋游戏完整的五子棋游戏支持人人对战和人机对战画图游戏完整的画图游戏支持画笔、橡皮擦和形状绘制退出功能从游戏返回选择界面从选择界面结束游戏 推箱子游戏功能10 个关卡从基础教学到终极挑战难度递增基于难度的分数系统根据关卡难度动态计算分数时间奖励机制在规定时间内完成关卡获得额外分数步数奖励机制在规定步数内完成关卡获得额外分数连击系统连续成功操作获得额外分数历史记录自动保存游戏成绩到本地存储排行榜显示历史最高分和游戏记录撤销功能支持撤销操作最多 100 步响应式设计适配桌面端和移动设备触摸支持移动端支持滑动手势控制◯ 五子棋游戏功能多种游戏模式支持人人对战和人机对战多种棋盘大小支持13x13、15x15、19x19三种棋盘大小AI难度级别简单、中等、困难三个难度级别AI决策系统基于极大极小值算法Minimax和评估函数胜负判断自动检测横、竖、斜向五子连珠游戏状态管理支持开始新游戏、重新开始、悔棋等功能落子动画流畅的棋子放置动画效果先手选择可选择黑棋或白棋先手游戏状态提示实时显示当前玩家和游戏状态响应式设计适配桌面端和移动设备触摸支持移动端支持触摸操作 画图游戏功能画笔工具支持不同粗细1-20px和颜色选择橡皮擦工具擦除画布上的内容形状绘制支持直线、矩形、圆形等基本形状撤销/重做支持多次撤销和重做操作最多保存50步历史画布清空一键清空画布颜色选择提供多种预设颜色实时预览形状绘制时的实时预览效果响应式设计适配桌面端和移动设备触摸支持移动端支持触摸操作历史记录最多保存50步操作历史️ 界面特性现代化 UI渐变背景、圆角卡片、阴影效果游戏选择界面卡片式布局清晰展示游戏状态推箱子游戏界面三栏布局左侧分数面板、中间游戏区域、右侧历史成绩五子棋游戏界面简洁布局棋盘居中游戏控制和状态显示在两侧动画效果分数更新、通关庆祝、最高分更新、落子动画实时统计关卡、步数、推箱次数、时间、进度、当前玩家操作提示键盘快捷键和触摸操作说明奖励提示显示得分奖励详情AI状态提示显示AI思考状态 数据持久化本地存储使用 localStorage 保存游戏记录历史记录最多保存 50 条历史游戏成绩最高分自动记录和更新最高分页面刷新记录不会丢失会话保存页面关闭时自动保存游戏记录项目结构cangjie_study/ ├── src/ # 仓颉源代码 │ ├── types/ # 类型定义 │ │ └── common.cj # 枚举和位置类 │ ├── game/ # 游戏逻辑 │ │ ├── model.cj # 数据模型 │ │ ├── level.cj # 关卡管理 │ │ └── engine.cj # 游戏引擎 │ ├── ui/ # 控制台界面 │ │ ├── renderer.cj # 渲染器 │ │ └── input.cj # 输入处理 │ └── main.cj # 程序入口 ├── web/ # Web 前端 │ ├── launcher.html # 游戏选择界面 │ ├── index.html # 推箱子游戏页面 │ ├── game.js # 推箱子游戏逻辑 │ ├── gomoku.html # 五子棋游戏页面 │ ├── gomoku.js # 五子棋游戏逻辑 │ ├── drawing.html # 画图游戏页面 │ ├── drawing.js # 画图游戏逻辑 │ └── score_config.json # 分数配置文件 ├── cjpm.toml # 包管理配置 ├── start_game.bat # 启动脚本 └── README.md # 项目说明技术栈后端仓颉语言 (Cangjie)前端HTML5 CSS3 JavaScript构建工具cjpm (仓颉包管理器)存储localStorage (浏览器本地存储)配置JSON 配置文件运行方式方式一双击启动脚本推荐./start_game.bat方式二直接打开游戏选择界面# 打开 web 目录下的 launcher.html 文件start web/launcher.html方式三直接打开推箱子游戏# 打开 web 目录下的 index.html 文件start web/index.html方式四运行仓颉程序# 设置环境变量$env:CANGJIE_HOMED:\soft\cangjie\cangjieSDK\cangjie$env:PATHD:\soft\cangjie\cangjieSDK\cangjie\bin;...$env:PATH# 编译和运行cjpm build cjpm run游戏操作键盘操作按键功能W / ↑向上移动S / ↓向下移动A / ←向左移动D / →向右移动Z撤销操作R重置关卡N下一关ESC退出游戏返回选择界面触摸操作滑动上下左右滑动控制移动方向按钮点击屏幕上的方向按钮界面按钮撤销撤销上一步操作重置重置当前关卡上一关返回上一关下一关进入下一关排行榜查看历史最高分退出保存记录并返回游戏选择界面计分规则基于难度的分数系统难度基础分数时间奖励步数奖励连击奖励简单 (1-2关)10分≤30秒 5分≤10步 8分≥3连击 3分中等 (3-5关)20分≤45秒 8分≤15步 12分≥4连击 5分困难 (6-8关)35分≤60秒 12分≤20步 18分≥5连击 8分专家 (9-10关)50分≤90秒 20分≤25步 25分≥6连击 12分惩罚机制超时超过时间阈值扣除10分额外步数每超过步数阈值1步扣除1分最多扣除50%分数关卡信息关卡难度箱子数出口数1简单112简单223中等224中等235中等236困难247困难248困难249专家2410专家25游戏元素元素显示说明墙壁██不可穿过地板··可移动玩家♀控制角色箱子□□需要推动出口↓箱子推出的目标项目亮点游戏管理界面集中管理多个游戏提供统一的启动和退出机制前后端分离仓颉语言处理核心逻辑Web 前端负责界面现代化界面采用现代 UI/UX 设计原则多端适配支持桌面端和移动端数据持久化本地存储游戏记录完整功能从基础玩法到高级特性智能计分基于难度和表现的动态分数计算排行榜系统记录和展示游戏成绩用户友好丰富的动画效果和操作提示模块化设计易于扩展新游戏AI对战功能五子棋游戏支持人机对战具有不同难度级别智能AI算法实现了基于极大极小值算法的AI决策系统画图功能完整的画图工具集支持多种绘制方式实时预览形状绘制时的实时预览效果历史记录支持多次撤销和重做操作技术架构前端架构HTML5页面结构CSS3样式设计包括响应式布局和动画效果JavaScript游戏逻辑和交互处理模块化设计每个游戏独立实现易于维护和扩展后端架构仓颉语言核心游戏逻辑处理前后端分离Web 前端与仓颉后端通过接口通信AI架构五子棋决策算法极大极小值算法Minimax优化技术α-β剪枝评估函数基于棋子连线、位置价值和攻防平衡难度调节通过搜索深度和评估函数复杂度实现开发环境前端开发浏览器Chrome、Firefox、Safari、Edge 等现代浏览器编辑器Visual Studio Code、Sublime Text、WebStorm 等后端开发仓颉 SDK需要安装仓颉语言开发环境cjpm仓颉包管理器操作系统Windows、macOS、Linux安装与配置克隆项目gitclonerepository-urlcdcangjie_study安装仓颉 SDK下载并安装仓颉语言开发环境设置环境变量$env:CANGJIE_HOMED:\soft\cangjie\cangjieSDK\cangjie$env:PATHD:\soft\cangjie\cangjieSDK\cangjie\bin;...$env:PATH构建项目cjpm build运行项目双击start_game.bat启动游戏或直接打开web/launcher.html进入游戏选择界面已知问题性能优化在困难模式下AI搜索可能会在较大棋盘上导致轻微延迟浏览器兼容性某些旧版浏览器可能不支持部分CSS3特性移动设备在小屏幕设备上棋盘可能显得较小未来规划游戏扩展添加更多游戏类型如贪吃蛇、俄罗斯方块等功能增强五子棋游戏添加在线对战功能推箱子游戏添加自定义关卡编辑器实现游戏成就系统AI优化进一步优化AI算法提高搜索效率添加更多AI难度级别实现机器学习-based AI界面改进进一步优化移动端适配添加更多动画效果和视觉反馈实现主题切换功能社交功能添加游戏成绩分享功能实现全球排行榜添加好友系统配置文件score_config.json定义不同难度级别的分数参数可通过修改此文件调整计分规则。退出行为游戏内退出点击游戏中的退出按钮保存游戏记录并返回游戏选择界面选择界面退出点击选择界面的退出按钮关闭游戏窗口享受游戏挑战自我项目链接此项目为博主学习仓颉语言时开发的欢迎所有人复刻代码学习使用。