From db8a16b95450383504c8f6a7a4b90a1421b401a8 Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Tue, 16 Apr 2024 22:37:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9D=E7=AE=B1=E7=94=9F?= =?UTF-8?q?=E6=88=90=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/game.svr.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/services/game.svr.ts b/src/services/game.svr.ts index a81d244..edad4aa 100644 --- a/src/services/game.svr.ts +++ b/src/services/game.svr.ts @@ -8,7 +8,11 @@ const chestBonusItems = require('../../configs/chest_bonus_item.json') const chestLevelMap = new Map() let STEP_CHEST_LEVEL = chestCfg.chests.map((cfg: any) => cfg.probability) -STEP_CHEST_LEVEL.sort((a: number, b: number) => a - b) +STEP_CHEST_LEVEL = STEP_CHEST_LEVEL.sort((a: number, b: number) => a - b) +for (let i = 1; i < STEP_CHEST_LEVEL.length; i++) { + STEP_CHEST_LEVEL[i] += STEP_CHEST_LEVEL[i - 1] +} + chestCfg.chests.forEach((cfg: any) => { chestLevelMap.set(cfg.level, cfg) }) @@ -51,14 +55,14 @@ export const generateNewChest = (uid: string, activity: string, level = 1, statu export const generateChestLevel = function (): number { const levelDefine = STEP_CHEST_LEVEL let randomLevel = Math.floor(Math.random() * levelDefine[levelDefine.length - 1]) - let level = 1 + let level = 0 for (let i = 0; i < levelDefine.length; i++) { if (randomLevel < levelDefine[i]) { - level = i + 1 + level = i break } } - return level + return levelDefine.length - level } /** * 生成步数奖励