From d26b6cc922b7e3248818470febdd086c6a1353c2 Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Mon, 15 Jun 2020 16:51:48 +0800 Subject: [PATCH] 提交 --- src/HttpServer/logic/function.go | 44 +++++++++++++++++++++++++++++++++++++++++--- src/HttpServer/logic/logic.go | 20 ++++++++++++-------- 2 files changed, 53 insertions(+), 11 deletions(-) diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index b8221d0..91ac32a 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -615,15 +615,25 @@ func MergeRedBagCat(uinfo *UserData, pos int) int { //走随机合成逻辑 sumrate := float32(0) + var reallist []jsonconf.RedCatDesc for _, v := range jsonconf.GetJsonConf().RedCatConfig { sumrate += v.Rate + if v.Rate > 0 { + reallist = append(reallist, v) + } + } + if len(reallist) == 0 { + logger.Error("MergeRedBagCat nil") + return 0 } rand.Seed(time.Now().UnixNano()) randnum := rand.Intn(100) + index := -1 tmprate := 0 - for _, v := range jsonconf.GetJsonConf().RedCatConfig { + for k, v := range reallist { tmprate += int(v.Rate * 100 / sumrate) if tmprate >= randnum { + index = k uinfo.PosInfo[pos].Position = pos uinfo.PosInfo[pos].Cat = REDCATIDEXTRA + v.Id if v.Id == 13 { @@ -644,6 +654,14 @@ func MergeRedBagCat(uinfo *UserData, pos int) int { } } + if index == -1 { + //没有找到 直接获得第一个 + uinfo.PosInfo[pos].Cat = reallist[0].Id + REDCATIDEXTRA + uinfo.PosInfo[pos].RedPacket = reallist[0].Money + uinfo.PosInfo[pos].Position = pos + rtpos = pos + } + //翻拍次数+ uinfo.FlopCardLefCnt++ return rtpos @@ -653,7 +671,27 @@ func (uinfo *UserData) CheckBuyCatSHop() { //检查可购买的猫是否会增加 //需要扩充一下商店 curshoplv := len(uinfo.BuyCatInfo) - if uinfo.Highestlv-5 > curshoplv { + //获取最高猫的配置 + highcfg := jsonconf.GetCatConfig(uinfo.Highestlv) + if highcfg == nil { + logger.Error("CheckBuyCatSHop err nil") + return + } + + if highcfg.Level_buy > curshoplv { + offset := highcfg.Level_buy - curshoplv + for i := 0; i < offset; i++ { + var info BuyCatInfoData + info.Buytime = 0 + cafcfg := jsonconf.GetCatConfig(curshoplv + i + 1) + if cafcfg != nil { + info.CurPrice, _ = strconv.ParseInt(cafcfg.Price, 10, 64) + } + info.IsMaxBuytime = 0 + uinfo.BuyCatInfo = append(uinfo.BuyCatInfo, info) + } + } + /*if uinfo.Highestlv-5 > curshoplv { var info BuyCatInfoData info.Buytime = 0 cafcfg := jsonconf.GetCatConfig(uinfo.Highestlv - 5) @@ -662,7 +700,7 @@ func (uinfo *UserData) CheckBuyCatSHop() { } info.IsMaxBuytime = 0 uinfo.BuyCatInfo = append(uinfo.BuyCatInfo, info) - } + }*/ } func (udata *UserData) CalcGoldRate() int64 { diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index fad7b89..ea33a13 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -857,12 +857,15 @@ func HandlerLimitCatList(w http.ResponseWriter, data string, uuid int) { if pos >= 0 && pos < len(uinfo.PosInfo) { //如果可领取了再加入列表 if nowtime > uinfo.PosInfo[pos].StartTime+uinfo.PosInfo[pos].Time { - var tmp LimitCatListData - tmp.CatId = uinfo.PosInfo[pos].Cat - tmp.Status = 0 - tmp.Cash = uinfo.PosInfo[pos].RedPacket - tmp.Date = time.Now().Format("2006-01-02T 15:04:05") - resp.Data = append(resp.Data, tmp) + if uinfo.PosInfo[pos].RedPacket > 0 { + var tmp LimitCatListData + tmp.CatId = uinfo.PosInfo[pos].Cat + tmp.Status = 0 + tmp.Cash = uinfo.PosInfo[pos].RedPacket + tmp.Date = time.Now().Format("2006-01-02T 15:04:05") + resp.Data = append(resp.Data, tmp) + } + } else { logger.Info("HandlerLimitCatList nowtime=%v,endtime=%v", nowtime, uinfo.PosInfo[pos].StartTime+uinfo.PosInfo[pos].Time) } @@ -1180,7 +1183,7 @@ func HandlerRecvTimingReward(w http.ResponseWriter, data string, uuid int) { addgold := uinfo.Goldrate * ZHENGHOURMULT uinfo.Gold += addgold uinfo.LastTimingRewardHour = nowh - uinfo.GetWatchAdsGoldTime-- + //uinfo.GetWatchAdsGoldTime-- SaveUserInfo(uinfo, strconv.Itoa(uuid)) @@ -1418,7 +1421,8 @@ func HandlerExchangePos(w http.ResponseWriter, data string, uuid int) { if uinfo.PosInfo[rdata.From].Cat == 36 { //todo 走红包猫的逻辑 MergeRedBagCat(uinfo, rdata.From) - DoAutoMergeRedCat(uinfo, uuid) + uinfo.CleadPos(rdata.To) + //DoAutoMergeRedCat(uinfo, uuid) //此处处理一下红包猫的自动合成逻辑 if uinfo.Highestlv < 37 { //非红包猫 -- libgit2 0.21.0