Browse Source

更新统计方法

Alex 1 year ago
parent
commit
284416b24d
2 changed files with 5 additions and 117 deletions
  1. 4 3
      yyyy_js/assets/main/index.jsc
  2. 1 114
      yyyy_js/头部新增的方法.js

+ 4 - 3
yyyy_js/assets/main/index.jsc

@@ -215,17 +215,18 @@ function dealMsg(msgType,data) {
             var detail = data.detail;
             var option = detail.option;
             var betAmount = detail.betAmount;
+            var odds = detail.odds;
             if (betInfoMap.has(option)) {
                 // 如果 option 已存在,累加 betAmount 到 totalBet
                 let existingInfo = betInfoMap.get(option);
                 existingInfo.totalBet += betAmount; // 累加投注金额
-                existingInfo.option = info.option;
-                existingInfo.odds = info.odds;
+                existingInfo.option = option;
+                existingInfo.odds = odds;
                 betInfoMap.set(option, existingInfo);
             } else {
                 // 如果 option 不存在,创建新记录
                 betInfoMap.set(option, {
-                    odds: detail.odds, // 初始赔率
+                    odds: odds, // 初始赔率
                     totalBet: betAmount, // 初始投注金额
                     limitRed: 0 // 示例中未提及,这里假设为 0
                 });

+ 1 - 114
yyyy_js/头部新增的方法.js

@@ -59,117 +59,4 @@ console.log = function (...args) {
 
     // 分段打印处理过的字符串
     splitAndPrintString(combinedString, maxChunkSize);
-};
-
-
-
-//下注对象
-var OptionInfo = { option: 0, odds: 1, totalBet: 0 }
-
-var betInfoMap = new Map();
-
-var totalProfit = 0;
-
-function dealMsg(msgType,data) {
-    switch(msgType){
-        case "GameDataSynNotify"://进房间后同步已下注信息
-            betInfoMap.clear();
-            // console.log("====>>>>啦啦啦啦",data.optionInfo);
-             data.optionInfo.forEach((info) => {
-                if (betInfoMap.has(info.option)) {
-                    // console.log("====>>>>有这个option",info.option);
-                    // 如果 option 已存在,累加 totalBet
-                    let existingInfo = betInfoMap.get(info.option);
-                    existingInfo.totalBet += info.totalBet;
-                    existingInfo.option = info.option;
-                    existingInfo.odds = info.odds;
-
-                    betInfoMap.set(info.option, existingInfo);
-                } else {
-                    // console.log("====>>>>没有这个option",info.option);
-                    // 如果 option 不存在,直接添加
-                    betInfoMap.set(info.option, {
-                        odds: info.odds,
-                        totalBet: info.totalBet,
-                        option: info.option
-                    });
-                }
-            });
-            console.log("====>>>>同步后自己的数据",[...betInfoMap]);
-            break;
-
-        case "BetNotify"://局中下注信息
-            var detail = data.detail;
-            var option = detail.option;
-            var betAmount = detail.betAmount;
-            if (betInfoMap.has(option)) {
-                // 如果 option 已存在,累加 betAmount 到 totalBet
-                let existingInfo = betInfoMap.get(option);
-                existingInfo.totalBet += betAmount; // 累加投注金额
-                existingInfo.option = info.option;
-                existingInfo.odds = info.odds;
-                betInfoMap.set(option, existingInfo);
-            } else {
-                // 如果 option 不存在,创建新记录
-                betInfoMap.set(option, {
-                    odds: detail.odds, // 初始赔率
-                    totalBet: betAmount, // 初始投注金额
-                    limitRed: 0 // 示例中未提及,这里假设为 0
-                });
-            };
-            // console.log("====>>>>同步 下注后的数据",[...betInfoMap]);
-
-            break;
-        case "StopBetNotify"://开牌信息,后面打印用
-            break;
-        case "StartSettlementNotify"://估计只是执行开奖动画?
-            break;
-        case "GameRoundEndNotify"://本轮游戏结束,结算玩家和盈利信息
-            // 初始化总赢取金额为 0
-                let totalPayAmount = 0;
-
-                // 遍历每个玩家的结算信息
-                data.playerSettle.forEach(player => {
-                    // 遍历每个玩家的 settle 数组
-                    player.settle.forEach(settleItem => {
-                        // 累加 winAmount 到总赢取金额
-                        totalPayAmount += settleItem.winAmount;
-                    });
-                });
-
-                // 遍历 otherPlayers 中的 settle 数组(如果存在)
-                if (data.otherPlayers && data.otherPlayers.settle) {
-                    data.otherPlayers.settle.forEach(settleItem => {
-                        // 累加 winAmount 到总赢取金额
-                        totalPayAmount += settleItem.winAmount;
-                    });
-                }
-
-                // 初始化一个变量来存储 totalBet 的累计值
-                let totalBetSum = 0;
-
-                // 使用 forEach 遍历 map 中的每一个元素
-                betInfoMap.forEach((value, key) => {
-                    // 累加每一个 totalBet 值
-                    totalBetSum += value.totalBet;
-                });
-                var curentRoundProfit = totalBetSum-totalPayAmount;
-                totalProfit += curentRoundProfit;
-                // 打印总赢取金额
-                console.log(`====>>>>同步后:总盈亏:${totalProfit/100}¥,\t本局总收入是:${totalBetSum/100}¥,\t庄家总付出金额: ${totalPayAmount/100}¥,\t本局利润是:${(curentRoundProfit)/100}¥`);
-                betInfoMap.clear();
-            break;
-        case "ReadyGameNotify"://新一轮开始,时间还有剩余秒速 {"nextRoundEndStamp":1711691423,"leftSeconds":3}
-            break;
-        case "DealNotify"://更新座位上的玩家信息、前几轮大师和鲨鱼的胜负结果、鲨鱼和大师的手牌信息
-            break;
-        case "ShowOddsNotify"://更新本轮赔率、几秒后开始
-            break;
-        case "StartBetNotify"://可以开始下注通知、可下注时长 JS: {"nextRoundEndStamp":1711691443,"leftSeconds":15}
-            break;
-        case "MergeAutoBetNotify"://同步自动下注的玩家信息?还是后台电脑人?
-            break;
-        default:
-                //
-    }
-}
+};