灵感来源
(也许只看上面的就够了,下面的不用看,看完下面的你可能不想写了)
欢迎来到《面包狂欢》小游戏,这里有你想不到的面包冒险!
在这里,你可以收集、战斗、交易各种面包,体验不同的趣味玩法!
注意事项
- 本插件不适合用于人数较多的群,因为可能会造成bot刷屏,影响正常聊天。
- 本插件具有一定的上瘾性,请适度娱乐,不要过度沉迷。
- 本插件的数据是按照群分开的,不同的群之间没有关联。
- 本插件的所有操作都有一定的随机性,所以请做好心理准备。
游戏玩法
游戏的玩法非常简单,通过吃面包数量计算玩家等级,以及优秀的排行榜系统。
关于玩家等级计算,我们根据 配置项里定义的固定升级经验(原插件设置的默认值为 10) * 吃掉的面包数量 得到。
游戏指令
以下是支持的所有指令,可以通过输入相应的文字或者表情来触发。
如果指令需要@某个用户,但是没有@任何人,系统会随机选择一个用户。
如果指令需要输入数量,但是没有输入数量,系统会随机生成一个数量。
为了简化游戏进程,我们当然可以假设用户有无限的金币,因为存在冷却时间,所以喵~。
(似乎不够狂欢~ 但它感觉真的很好玩喵~!快来一起买面包吧!!!买买买~)
指令 | 说明 | 其他形式 | 例子 |
---|---|---|---|
买面包 | 购买随机数量的面包,增加自己的饱食度和幸福感。 | buy, | 输入“买面包”,即可用金币购买1~10个面包。 |
吃面包 | 吃掉随机数量的面包,增加自己的饱食度和幸福感。 | eat, | 输入“吃面包”,即可吃掉1~10个面包。 |
抢面包 + @指定用户 | 从指定用户那里抢走随机数量的面包,增加自己的财富和威望。 | rob, | 输入“抢面包 @小明”,即可从小明那里抢走1~10个面包。 |
送面包 + @指定用户 | 给指定用户送去随机数量的面包,增加自己的友情和声望。 | give, 送 | 输入“送面包 @小红”,即可给小红送去1~10个面包。 |
查看面包 + @指定用户 | 查看指定用户拥有的面包数量和排名。 | check, 偷看面包 | 输入“查看面包 @小刚”,即可查看小刚拥有的面包数量和排名。 |
面包记录 + @指定用户 | 查看指定用户各种操作的次数。 | logb, 记录 | 输入“面包记录 @小芳”,即可查看小芳各种操作的次数。 |
面包记录 + “买吃抢赠送猜拳” | 查看某种操作次数最多的用户。 | logb, 记录 | 输入“面包记录 抢”,即可查看抢面包次数最多的用户。 |
赌面包 + “石头剪刀布” | 和bot进行猜拳赌博随机数量的面包。提示:如果赢了,可以获得双倍的面包;如果输了,会失去所有的赌注;如果平局,没有任何变化。注意:如果没有足够的面包或者输入错误的选项,操作会失败。 | bet, 面包猜拳 | 输入“赌面包 石头”,即可和bot进行猜拳赌博1~10个面包。 |
面包帮助 | 发送本说明书。 | breadhelp, helpb | 输入“面包帮助”,即可发送本说明书。 |
面包排行 | 查看群内所有用户的面包排行榜。 | breadtop, 面包排名 | 输入“面包排行”,即可查看群内所有用户的面包排行榜。 |
自定义配置
例如物品名称、操作冷却时间、随机值范围、特殊事件概率等。
export const Config: Schema<Config> = Schema.intersect([
Schema.object({
cdBuy: Schema.number().default(4200).description('买面包的冷却时间,单位是秒'),
cdEat: Schema.number().default(4800).description('吃面包的冷却时间,单位是秒'),
cdRob: Schema.number().default(5000).description('抢面包的冷却时间,单位是秒'),
cdGive: Schema.number().default(3000).description('送面包的冷却时间,单位是秒'),
cdBet: Schema.number().default(5400).description('赌面包的冷却时间,单位是秒'),
}).description('冷却时间(Cooldown Time)'),
Schema.object({
maxBuy: Schema.number().default(9).description('买面包时的最大随机数量'),
maxEat: Schema.number().default(8).description('吃面包时的最大随机数量'),
maxRob: Schema.number().default(7).description('抢面包时的最大随机数量'),
maxGive: Schema.number().default(10).description('送面包时的最大随机数量'),
maxBet: Schema.number().default(10).description('赌面包时的最大随机数量'),
}).description('最大随机值(Maximum Random Value)'),
Schema.object({
minBuy: Schema.number().default(1).description('买面包时的最小随机数量'),
minEat: Schema.number().default(2).description('吃面包时的最小随机数量'),
minRob: Schema.number().default(2).description('抢面包时的最小随机数量'),
minGive: Schema.number().default(1).description('送面包时的最小随机数量'),
minBet: Schema.number().default(5).description('赌面包时的最小随机数量'),
}).description('最小随机值(Minimum Random Value)'),
]);
拓展玩法(注意,此部分作为拓展参考,不为游戏基础实现)
-
面包大战:这是一个群内的竞技模式,每个用户可以选择加入红队或蓝队,然后通过各种操作来增加自己队伍的面包数量,同时减少对方队伍的面包数量。每个操作都会消耗一定的面包,所以要合理安排策略。每天晚上12点,系统会统计双方的面包总数,哪个队伍的面包多,就赢得当天的胜利,并获得一定的奖励。连续赢得七天的队伍,就可以获得更大的奖励,并且可以在群内炫耀自己的成就。
- 加入面包大战:输入“加入红队”或“加入蓝队”即可加入相应的队伍。如果没有指定队伍,系统会随机分配。如果已经加入了某个队伍,再次输入该指令会提示已经加入。
- 退出面包大战:输入“退出面包大战”即可退出当前所在的队伍,并清空自己的面包数据。退出后可以重新加入另一个队伍,但是要等到第二天才能生效。
- 查看面包大战:输入“查看面包大战”即可查看当前双方的面包数量和排名情况。
- 面包攻击 + @指定用户:消耗自己10个面包,从指定用户那里抢走5个面包,并增加到自己队伍的总数。如果指定用户不在对方队伍或者没有足够的面包,操作会失败。
- 面包防御:消耗自己5个面包,为自己增加一个防御盾,可以抵挡一次面包攻击。防御盾只能持续一天,每天只能使用一次。
- 面包支援 + @指定用户:消耗自己5个面包,给指定用户送去3个面包,并增加到对方队伍的总数。如果指定用户不在自己队伍或者没有足够的面包,操作会失败。
- 面包合作 + @指定用户 + “石头剪刀布”:消耗自己5个面包,和指定用户进行猜拳游戏,如果赢了,双方各得10个面包,并增加到自己队伍的总数;如果输了,双方各失去10个面包,并减少自己队伍的总数;如果平局,没有任何变化。如果指定用户不在自己队伍或者没有足够的面包,操作会失败。
-
面包商店:这是一个群内的经济模式,每个用户可以通过购买和出售不同种类和品质的面包来赚取金币,并用金币来购买各种道具和装饰品。每种面包都有不同的价格和属性,例如口味、新鲜度、营养等。用户可以根据市场供需来调整自己的买卖策略,也可以通过各种事件和活动来获取额外的收益。
- 查看面包商店:输入“查看面包商店”即可查看当前的面包种类、价格、库存和需求情况。提示:不同的时间段,市场的供需会有所变化,影响面包的价格和收益。
- 购买面包 + 面包名称 + 数量:输入“购买面包”加上面包的名称和数量,即可用金币购买相应的面包。提示:不同种类的面包有不同的价格和属性,例如口味、新鲜度、营养等。注意:如果没有足够的金币或者库存不足,操作会失败。例子:输入“购买面包 法式长棍 3”,即可用金币购买3个法式长棍。
- 出售面包 + 面包名称 + 数量:输入“出售面包”加上面包的名称和数量,即可用面包换取金币。提示:不同种类的面包有不同的需求和收益,例如稀有度、流行度、保质期等。注意:如果没有足够的面包或者需求不足,操作会失败。例子:输入“出售面包 玉米面包 5”,即可用5个玉米面包换取金币。
- 查看我的面包:输入“查看我的面包”即可查看自己拥有的面包种类、数量、属性和价值情况。
- 查看我的金币:输入“查看我的金币”即可查看自己拥有的金币数量和排名情况。
- 查看我的道具:输入“查看我的道具”即可查看自己拥有的道具种类、数量和作用情况。
- 查看我的装饰品:输入“查看我的装饰品”即可查看自己拥有的装饰品种类、数量和效果情况。
- 使用道具 + 道具名称 + @指定用户:输入“使用道具”加上道具的名称和指定用户,即可对指定用户使用相应的道具。如果没有足够的道具或者指定用户不存在,操作会失败。道具的作用有以下几种:
- 增加或减少指定用户的面包数量或品质
- 增加或减少指定用户的金币数量或收益
- 增加或减少指定用户的道具数量或效果
- 增加或减少指定用户的装饰品数量或效果
- 触发指定用户的特殊事件或活动
- 购买道具 + 道具名称 + 数量:输入“购买道具”加上道具的名称和数量,即可用金币购买相应的道具。如果没有足够的金币或者库存不足,操作会失败。
- 购买装饰品 + 装饰品名称 + 数量:输入“购买装饰品”加上装饰品的名称和数量,即可用金币购买相应的装饰品。如果没有足够的金币或者库存不足,操作会失败。装饰品可以用来美化自己的面包店,增加吸引力和声望,也可以提供一些特殊的效果。
饱食度系统
- 每个用户都有一个饱食度值,初始为50,范围在0~100之间。
- 饱食度值会随着时间自动减少,每分钟减少1点。
(请注意,这里的数值也许并不合理) - 当饱食度值低于20时,用户处于饥饿状态,此时:
- 购买或者吃掉面包的效果会增加50%。
- 抢走或者送出面包的效果会减少50%。
- 猜拳赌博的成功率会降低10%。
- 当饱食度值高于80时,用户处于吃撑状态,此时:
- 购买或者吃掉面包的效果会减少50%。
- 抢走或者送出面包的效果会增加50%。
- 猜拳赌博的成功率会提高10%。
- 购买面包可以增加面包数量但不可以增加啊饱食度,而吃掉面包可以增加饱食度值,不同的面包有不同的增加量
-
- 抢走或者送出面包不会影响饱食度值。
幸福感系统
- 每个用户都有一个幸福感值,初始为50,范围在0~100之间。
- 幸福感值不会随着时间自动变化,只会受到用户操作的影响。
- 当幸福感值低于20时,用户处于沮丧状态,此时:
- 购买或者吃掉面包的效果会减少50%。
- 抢走或者送出面包的效果会增加50%。
- 猜拳赌博的成功率会降低10%。
- 当幸福感值高于80时,用户处于快乐状态,此时:
- 购买或者吃掉面包的效果会增加50%。
- 抢走或者送出面包的效果会减少50%。
- 猜拳赌博的成功率会提高10%。
- 购买或者吃掉面包可以增加幸福感值,不同的面包有不同的增加量,具体如下表:
面包种类 | 幸福感增加量 |
---|---|
馒头 | 5 |
法棍 | 10 |
汉堡 | 15 |
蛋糕 | 20 |
披萨 | 25 |
- 抢走或者送出面包可以减少幸福感值,不同的面包有不同的减少量,具体如下表:
面包种类 | 幸福感减少量 |
---|---|
馒头 | 5 |
法棍 | 10 |
汉堡 | 15 |
蛋糕 | 20 |
披萨 | 25 |
- 猜拳赌博可以增加或者减少幸福感值,具体如下:
- 如果赢了,可以获得双倍的幸福感值。
- 如果输了,会失去所有的幸福感值。
- 如果平局,没有任何变化。
特殊事件
- 在进行任何操作时,有一定的概率触发特殊事件,这些事件会对用户的面包数量、饱食度值和幸福感值产生额外的影响,具体如下表:
特殊事件 | 触发概率 | 影响 |
---|---|---|
面包过期 | 5% | 随机失去1~10个面包,饱食度值和幸福感值各减少10点。提示:你的面包已经发霉了,赶紧扔掉吧! |
面包中奖 | 5% | 随机获得1~10个面包,饱食度值和幸福感值各增加10点。提示:恭喜你,你的面包里藏着一张彩票,中了大奖! |
面包捐赠 | 5% | 随机送出1~10个面包给一个随机用户,饱食度值减少10点,幸福感值增加20点。提示:你的面包被一个可怜的小孩看上了,你决定慷慨地分享一些。 |
面包偷窃 | 5% | 随机失去1~10个面包给一个随机用户,饱食度值和幸福感值各减少20点。提示:你的面包被一个不怀好意的家伙偷走了,你气得要发疯。 |
面包神迹 | 1% | 面包数量翻倍,饱食度值和幸福感值各增加50点。提示:你的面包突然发生了奇妙的变化,变得更多更美味了! |
面包灾难 | 1% | 面包数量清零,饱食度值和幸福感值各减少50点。提示:你的面包遭遇了一场可怕的灾难,全部被毁掉了! |