【XIUNOX插件】大富翁 v1.0.23

二级用户组

大富翁游戏插件(navgcn_monopoly)

论坛互动游戏插件:掷骰子在环形棋盘上移动,触发事件获得金币奖励,参与排行榜竞争。

项目

插件标识

navgcn_monopoly

插件名称

大富翁游戏

当前版本

1.0.23

适配论坛版本

XIUNOX 1.1.x

插件类型

plugin


一、插件介绍

1.1 功能概述

用户在个人中心进入大富翁游戏,通过掷骰子在环形棋盘上移动。落点格子按类型触发不同事件,产生金币收益或损失。金币对接系统积分体系(user.golds + CreditsService),可用于购买额外游戏次数与功能道具。全站用户按金币数量参与排行榜竞争,每笔金币变动自动写入系统 credits_log 流水,获得金币时发送站内通知。

1.2 核心玩法

  • 环形棋盘:管理员自定义格子数量,不足时自动从已配格子池随机填充至最小格子数(默认 30),走完一圈回到起点获得过路奖励

  • 3D 骰子:屏幕中央 CSS 3D 六面立方体翻滚动画,翻滚 3~5 圈后落定显示点数,再移动棋子

  • 每日次数:每日赠送免费次数,用尽后可花费金币自定义购买额外次数(单条 UPDATE 同时校验余额与上限)

  • 事件结算:13 种格子类型,落点自动结算金币收支、位置变化、道具发放;格子类型配置(金币范围/随机事件/任务列表)可在后台自定义

  • 道具系统:3 种功能道具,在关键节点改变结算结果

  • 排行竞争:金币排行榜,展示头像、昵称与个人当前排名

  • 流水记录:每次掷骰的骰子点数、移动轨迹、事件类型与金币变化全量留档于游戏记录表

  • 金币体系:金币以系统 user.golds 为准,增删均通过 CreditsService(行锁 + 自动写 credits_log),并支持与论坛积分双向兑换

  • 站内通知:净获得金币时通过 notify_create() 发送系统通知

1.3 棋盘格子类型

类型

标识

结算效果

起点

start

走完一圈回到起点时获得过路奖励

奖励

reward

在配置区间内随机获得金币,双倍卡可翻倍

惩罚

punish

在配置区间内随机扣除金币,余额不足时扣至归零,护盾可抵消

幸运

lucky

触发大额金币奖励

随机事件

event

从事件池(24 种内置/后台可编辑)随机抽取,金币可能增加或减少

前进

forward

向前额外移动若干格(最多递归结算 1 层)

后退

backward

向后回退若干格

商店

shop

随机发放一个道具

任务

task

提示参与论坛任务(任务列表后台可编辑)

宝箱

treasure

高额奖励 + 50% 概率额外获得道具,双倍卡可翻倍

陷阱

trap

高额罚款,护盾可抵消

休息站

rest

恢复 1 次掷骰机会

兑换站

exchange

赌博式:50% 翻倍获得金币,50% 失去一半

1.4 道具说明

道具

标识

默认价格

默认日限

效果

遥控骰子

remote_dice

50 金币

3 次

掷骰时可指定本次点数(1–6)

双倍卡

double_card

40 金币

5 次

落在奖励/宝箱格时收益翻倍,自动生效

护盾

shield

30 金币

5 次

落在惩罚/陷阱格时免除本次损失,自动生效

道具的名称、说明、图标、价格、每日上限、排序与启用状态均可在后台调整。

1.5 前台页面

页面

路由

说明

游戏主页

monopoly

棋盘、3D 骰子、掷骰子、我的道具、金币榜

棋盘说明

monopoly-board

全部格子的位置、名称、类型与数值区间

道具商店

monopoly-shop

道具购买

排行榜

monopoly-ranking

金币排行与个人排名

游戏记录

monopoly-records

个人历史流水

1.6 后台管理

后台路径:插件管理 → 大富翁游戏 → 设置,共 5 个标签页。

标签页

管理内容

基础设置

每日免费次数、购买单价、每日购买上限、过路奖励、双向兑换比例、可玩用户组门槛、棋盘最小格子数、4 个显示开关

棋盘配置

格子的名称、类型、图标、数值区间、配色

事件配置

各类型的金币范围、随机事件列表、任务列表

道具商店

道具名称、说明、图标、价格、每日上限、排序、启用开关

数据统计

最近 14 天的参与人数、掷骰次数、金币发放与回收

1.7 基础设置项默认值

设置项

默认值

说明

daily_free_count

5

每日免费掷骰次数

buy_price

10

购买 1 次的金币单价

daily_buy_limit

10

每日购买次数上限(0 = 不限)

start_reward

5

经过起点奖励金币

credit_to_gold_rate

100

多少积分兑换 1 金币

gold_to_credit_rate

100

1 金币兑换多少积分

min_gid

0

最低参与用户组 gid(0 = 全部可玩)

board_min_size

30

棋盘最小格子数(自动填充)

show_in_header

1

在顶栏显示

show_in_sidebar

1

在首页左侧栏显示

show_in_sidebar_right

1

在首页右侧栏显示

show_in_discover

1

在发现页显示

1.8 技术栈

技术

后端

PHP 8.0+ / MySQL utf8mb4 / CreditsService 积分服务 / notify_create 通知 / CacheHelper 缓存

前端

Bootstrap 5.3 + Tabler Icons + 原生 JavaScript(无 jQuery、无 Alpine.js)+ Web Audio API

动效

CSS 3D 骰子翻滚 + 角色行走动画 + 粒子爆发 + 金币雨 + 全屏闪光 + 背景飘浮粒子

音效

Web Audio API 程序生成 8 种音效(骰子/脚步/奖励/惩罚/幸运/起点/购买/错误)


二、文件结构

plugin/navgcn_monopoly/
├── conf.json                          # 插件配置(版本/hooks_rank)
├── install.php                        # 安装脚本(7 表/默认配置/初始棋盘/初始道具/类型配置)
├── uninstall.php                      # 卸载脚本(删表/删配置/清缓存)
├── upgrade.php                        # 升级脚本(幂等迁移)
├── setting.php                        # 后台设置(5 标签页 POST 处理)
├── readme.md                          # 本文档
├── icon.png                           # 插件图标
├── hook/
│   ├── model_inc_file.php             # 注册 MonopolyService 到 model 加载列表
│   ├── model_route_table_end.php      # 注册 5 个前台路由
│   ├── index_route_case_end.php       # 路由分发入口(case monopoly)
│   ├── model_cron_daily_end.php       # 每日定时任务(参与人数回填/预建统计行)
│   ├── lang_zh_cn_bbs.php             # 中文语言包(139 键)
│   ├── header_link_after.htm          # CSS 加载
│   ├── footer_js_after.htm            # JS 加载
│   ├── header_nav_custom_after.htm    # 顶栏导航入口
│   ├── sidebar_left_end.htm           # 首页左侧栏入口
│   ├── sidebar_right_end.htm          # 首页右侧栏入口
│   └── more_discover_items_after.htm  # 发现页入口
├── model/
│   └── MonopolyService.php            # 核心服务类(金币/棋盘/道具/记录/排行/统计/通知/兑换)
├── route/
│   └── monopoly.php                   # 前台路由(页面渲染 + AJAX API)
├── view/
│   ├── htm/admin/setting.htm          # 后台设置页(5 标签页)
│   └── htm/monopoly/
│       ├── index.htm                  # 游戏主页
│       ├── board.htm                  # 棋盘说明
│       ├── shop.htm                   # 道具商店
│       ├── ranking.htm                # 排行榜
│       └── records.htm                # 游戏记录
└── static/
    ├── css/monopoly.css               # 冒险旅途主题样式(含移动端适配)
    └── js/monopoly.js                 # 前端脚本(音效/动画/AJAX/3D 骰子)

四、数据库表

表名

用途

navgcn_monopoly_user

用户游戏数据(次数/位置/对局状态)

navgcn_monopoly_items

用户道具持有

navgcn_monopoly_records

游戏记录流水

navgcn_monopoly_board

棋盘格子配置

navgcn_monopoly_shop

道具商店配置

navgcn_monopoly_stats

每日统计

navgcn_monopoly_type_config

格子类型配置(金币范围/随机事件/任务列表)

系统表 credits_log 用于金币变动流水(经 CreditsService 自动写入),notify 表用于站内通知。



大富翁 截图

大富翁 截图

大富翁 截图

大富翁 截图



版本:v1.0.23
适用版本:1.1
开发者:cywxmz

请登录后查看此内容
最新回复

请先登录后再回复 登录