? 魔法花园(Magic Garden)
一款用 纯 PHP + SQLite 编写的网页小游戏。无需数据库服务、无需任何第三方依赖,开箱即跑。
你是一位园丁,在星空下的魔法花园中:
- ? 种植 8 种魔法植物(普通 → 传说)
- ⏳ 植物随时间自然生长(种子 → 幼苗 → 花苞 → 绽放)
- ? 施展法术:甘霖术、加速咒、净化术、召唤术
- ? 收获 获取魔法点与经验,升级提升魔力上限
- ? 在商店用魔法点购买种子
- ? 在图鉴中记录已发现的植物
- ✨ 页面实时刷新生长进度与魔力
首次访问会自动创建 data/garden.sqlite 数据库并写入种子数据。
功能一览
| 模块 | 文件 | 说明 |
|---|---|---|
| 入口 | index.php | 登录态判断,跳转 |
| 注册 | register.php | 创建账号,赠送起始种子 |
| 登录 | login.php | 密码哈希校验 |
| 登出 | logout.php | 销毁会话 |
| 花园 | garden.php | 种植 / 收获 / 法术 / 日志 |
| 商店 | shop.php | 魔法点购买种子 |
| 背包 | inventory.php | 种子库存 |
| 图鉴 | codex.php | 植物发现进度 |
| 个人 | profile.php | 园丁档案与统计 |
| 实时接口 | api/state.php | 供前端轮询的 JSON |
| 核心 | config.php | 数据库、游戏逻辑、工具函数 |
| 界面 | ui.php / assets/* | 公共布局、样式、脚本 |
玩法说明
- 魔力(?):每 6 秒自动回复 1 点,升級提升上限;施法消耗魔力。
- 魔法点(✨):收获植物获得,用于商店购买种子。
- 经验与等级(⭐):收获获得经验,升级时魔力回满并 +10 上限。
法术:
- 甘霖术 ?:目标地块加速 20%(8 魔力)
- 加速咒 ⚡:目标地块加速 40%(18 魔力)
- 净化术 ?:清空目标地块(5 魔力)
- 召唤术 ✨:随机获得一颗种子(25 魔力,稀有度越低越易获得)
- 掉种:收获时有概率额外掉落一颗同种种子。
管理员与多用户
系统原生支持多用户(每位用户独立花园、背包、图鉴),并内置后台管理:
- 默认管理员:首次安装会自动创建
admin / admin888(上线后请务必修改密码)。
若为已有数据库且无人是管理员,会自动把最早注册的用户(id=1)提升为管理员。 后台面板
admin.php(仅管理员可见):- 概览:注册用户数、植物种类、累计收获、图鉴收集、魔法点总量
- 用户管理:设/取消管理员、调整魔法点/魔力/上限/等级/经验、删除用户
- 植物管理:新增 / 编辑 / 删除植物(影响商店与花园)
- 花园广场
square.php:所有园丁排行榜,展示等级、魔法点、种植中与图鉴进度。 - 公开访园
garden_public.php?u=用户ID:只读查看任意园丁的花园,无需登录。
安全提示:data/目录含数据库,部署到公网时请通过 Web 服务器(如 Apache + 已附.htaccess)禁止外网直接访问。
| 模块 | 文件 | 说明 |
|---|---|---|
| 后台 | admin.php | 管理员面板:概览/用户/植物管理 |
| 广场 | square.php | 多用户排行榜 |
| 访园 | garden_public.php | 只读查看他人花园 |
自定义
- 修改植物:编辑
config.php中ensureInstalled()内的$plants数组(名称、emoji、稀有度、生长时间、奖励、价格等)。 - 地块数量:
config.php中的PLOT_COUNT(默认 9,3×3)。 - 魔力回复速度:
MANA_REGEN_SECONDS(默认 6 秒)。
本次扩展玩法(第二次更新)
在原有花园基础上,新增了以下系统:
? 魔液浇灌(Potion Watering)
- 商店新增「魔液商店」,可购买 5 种魔液:甘霖液(加速 20%)、疾风液(加速 45%)、幻彩液(染色)、变异液(变异出隐藏形态)、星辉液(加速+微光,与变异液组合触发「彩虹隐藏形态」)。
- 在花园中点击任意成长中植物下方的「? 浇灌」,选择魔液即可生效。
- 特效:浇灌时自动播放 ASMR 水流音效(Web Audio 合成,无需音频文件)+ 粒子飞溅;组合触发隐藏形态时音色更华丽。
?️ 天气 / 昼夜
- 系统按真实时间同步天气(晴 / 多云 / 雨)与昼夜;月相按真实日期计算(新月→满月→残月)。
- 雨天自动收集露水(每日 1 次,2 份),作为工坊材料。
- 满月之夜:虚空曼陀罗方可种下,且收获魔法点 +20%。
- 页面顶部天气横幅实时显示;雨天有飘落雨滴动画,夜间有暗色滤镜。
? 精灵伙伴
- 每位园丁拥有一位精灵(默认「小灵」)。
- 互动提升心情与亲密度,亲密度达阈值自动升级;2 级可外出探险带回稀有种子;4 级起可自动打理花园(自动收获成熟植物,进入花园即触发)。
- 可在
sprite.php改名、互动、派遣/召回探险。
? 地块扩建(区域)
主花园外,可解锁 温室 / 池塘 / 树屋 三个新区域,各有环境 Buff:
- 温室:热带/喜温植物生长 +25%
- 池塘:收获额外掉落露水
- 树屋:种植获得经验 +30%
- 达到对应等级后,在花园页「解锁」即可获得新地块(6 块/区)。
? 魔法工坊
- 收获植物获得材料(花瓣 / 露水 / 晶尘 / 星砂)。
- 用工坊配方合成装饰(花灯、风铃、魔法阵、星辉瓶),可摆放到花园。
? 主题套装
- 提供经典星空、万圣节南瓜园、春日樱花祭、极光幻境等主题,购买后永久解锁并一键换装(仅改 CSS 变量,零资源加载)。
? 花园互访 / 访客留言牌
- 公开访园页
garden_public.php?u=ID支持:点赞、施法加速、赠礼、偷菜;并可在「? 留言牌」写下祝福。
⚖️ 种子交易所
- 玩家之间挂单交易种子 / 材料,支持「魔力 + 魔法点」双定价。
? 花语信箱
- 选一朵花寄给好友,附赠悄悄话;收件人需解读花语(显示该植物的背景描述)。
? 共创花园(公会)
- 创建 / 加入公会,共同维护一座 16 格公共花园;种植与收获累计贡献度,并有贡献排行。
? 后台可自定义(图鉴 / 魔液 / 区域 / 主题 / 配方)
admin.php新增 魔液管理 / 区域管理 / 主题管理 / 配方管理 标签页,管理员可随时增删改,实时影响全部玩家的前台内容(即「自定义图鉴」)。
新增文件一览
| 模块 | 文件 |
|---|---|
| 精灵 | sprite.php |
| 工坊 | workshop.php |
| 主题 | themes.php |
| 交易所 | exchange.php |
| 花语 | mailbox.php |
| 共创花园 | guild.php |
| 实时接口 | api/state.php(已扩展区域/天气/精灵) |
| 样式 / 脚本 | assets/style.css、assets/app.js(已扩展粒子/ASMR/天气) |
| 后台 | admin.php(已扩展魔液/区域/主题/配方管理) |
| 访园 | garden_public.php(已扩展互访与留言牌) |
技术要点
- 纯 PHP,单文件入口分散式结构,易于阅读修改
- SQLite 存储,零配置
- 会话登录 + 密码
password_hash+ CSRF 令牌 - 前端每 2 秒轮询
api/state.php实现实时生长与资源更新
本次扩展玩法(第三次更新)
在第二次扩展基础上,新增天气灾害可控、用户资料编辑、勋章成就与任务系统,并修复了互访「偷菜」功能。
?️ 后台可控天气概率与自然灾难
- 后台
admin.php新增 「天气/灾害」 标签页:管理员可逐条设置每种天气(晴朗/多云/雨天/冰雹/干旱/虫灾)的出现概率(百分比)。 - 概率之和决定当天天气的相对几率;将某灾害概率设为
0即可关闭该灾害。 - 天气按「日」确定性随机,当天内不会随轮询闪烁。
自然灾害的可见效果:
- ? 冰雹 / ? 虫灾:每天随机使一株生长中的植物进度倒退(冰雹约 35%、虫灾约 18%)。
- ? 干旱:该日不产生露水,作物生长氛围偏暖。
- 前端在灾害天气时弹出版面提示 Toast,并在天气横幅标注「⚠️ 自然灾害」。
? 用户资料编辑(前台 + 后台)
- 前台
profile.php新增「✏️ 编辑资料」:用户可自助修改 昵称、头像 emoji、密码(密码留空则不修改)。 - 后台
admin.php用户管理新增「编辑」:管理员可修改任意用户的 昵称、头像、等级、经验、魔法点、魔力、魔力上限、管理员身份。 - 昵称/头像即时显示在个人中心;
@用户名作为唯一标识保留。
? 勋章成就系统
- 新增
achievements表与「勋章墙」,内置 11 枚勋章(初次播种、丰收时节、图鉴达人、稀有猎人、进阶园丁、商贾初成、团队一员、月圆之约 等)。 - 达成条件覆盖:累计种植 / 收获次数、图鉴收藏种数、稀有+收藏数、加入公会、角色等级、交易所交易次数、满月收获次数。
- 达成后自动解锁,发放魔法点 / 魔力奖励,并记录到活动日志。
- 查看入口:个人中心
profile.php与任务中心tasks.php。
? 任务系统(完成任务获得勋章)
- 新增
tasks表与 任务中心tasks.php:展示进行中任务的进度条与奖励。 - 任务类型与勋章条件共享同一套事件统计(种植/收获/收藏/交易/公会/等级/满月收获等)。
- 任务完成时自动发放 魔法点 / 魔力 / 对应勋章(如「播种新手」完成解锁「初次播种」勋章)。
? 后台自定义勋章与任务
admin.php新增 「勋章成就」「任务管理」 两个标签页:- 勋章:可增删改标识、名称、图标、达成条件类型与阈值、奖励。
- 任务:可增删改标识、标题、统计类型、目标数量、奖励与启用开关。
- 后台改动实时影响前台玩家。
? 修复「偷菜」互访
- 原
recordVisit('steal')仅在主人有「已成熟」作物时才生效,且只转移魔法点,体感像「偷不动」。 - 新版:偷菜会选取主人花园中成熟度最高的作物(成熟给 2 颗种子,未熟给 1 颗),同时转移其 25% 魔法点给访客,并清除该作物。只要主人有在种植物即可偷。
- 公开访园页对成熟作物新增「? 可偷」角标,便于访客识别。
新增 / 改动文件一览
| 模块 | 文件 |
|---|---|
| 天气灾害 / 成就 / 任务 核心逻辑 | config.php(新增 6 张表、天气配置、统计、勋章、任务、资料编辑函数) |
| 任务中心 | tasks.php(新增) |
| 个人资料编辑 | profile.php(扩展) |
| 后台天气/勋章/任务/用户编辑 | admin.php(扩展 4 个标签页 + 用户编辑) |
| 天气灾害前端提示 | assets/app.js、assets/style.css |
| 互访偷菜修复与可偷角标 | garden_public.php、config.php |
| 导航 | ui.php(新增「任务」入口) |
| 实时接口灾害效果 | api/state.php |
免费下载地址












浅语 LV.0 2天前
免费算命 LV.0 3天前
蓝小白 LV.0 1周前