180 lines
5.2 KiB
Go
180 lines
5.2 KiB
Go
package model
|
|
|
|
import (
|
|
"encoding/json"
|
|
"mongo.games.com/goserver/core/logger"
|
|
"os"
|
|
)
|
|
|
|
type NormalParam struct {
|
|
//
|
|
LHMin int // = 6000 //龙虎最小几率
|
|
LHMax int // = 8500 //龙虎最大几率
|
|
FishRate int // = 10 //捕鱼流水比例
|
|
FishLuckRate int // = 10 //捕鱼积分流水比例
|
|
PoolMaxOutRate int //=0 //最大出分参考比例
|
|
MaxAddBase int //=10 //最大强化概率倍数
|
|
IsCloseAddRtp int //=1 //是否关闭附加概率
|
|
NormalAddBase int //=5 //正常强化概率倍数
|
|
NewManRate float64 //=0.5 //是否属于新人
|
|
AttrWeight []float64 //属性权重 押注权重 历史流水权重 今日流水权重 新手权重
|
|
WinWeight []float64 //胜率参考权重 历史权重,现在权重
|
|
BetWeight []float64 //押注参考权重 历史权重,现在权重
|
|
WinMaxRate float64 //最大胜率
|
|
DLAddRateBase float64 //= 1.5//龙虎基数
|
|
BetMaxBase float64 //平均押注额的倍率
|
|
BetCutoffRate float64 //押注折算比例
|
|
VolatilityMaxRate float64 //最大波动率调整
|
|
VolatilityGameNum float64 //波动率调整局数
|
|
AddRateNum float64 //增加倍数
|
|
BullCardTypeWin []int //属性权重 出现赢的概率
|
|
BullCardTypeWin2 []int //属性权重 出现赢的概率
|
|
RobotRandomTimeMin int //机器人随机时间
|
|
RobotRandomTimeMax int //机器人随机时间
|
|
RollCoinNeedMin []int64 //老虎机类需要最小的流水值
|
|
RollCoinMinLine int32 //不满足流水,最小的线数比例
|
|
IsRollCoinClose int32 //不满足流水,是否关闭
|
|
HBChangeBankCardRate int //百人牛牛庄换牌概率
|
|
HBChangeBankCardLevel int32 //百人牛牛庄换牌增减值
|
|
HZJHChangeBankCardRate int //百人金华庄换牌概率
|
|
LHChangeCardRate int //龙虎杀牌换牌概率
|
|
RobotVipChangeRate int //vip调整概率
|
|
FishBWAddNum int //捕鱼黑白名单炮弹计数
|
|
|
|
}
|
|
|
|
var NormalParamPath = "../data/normalparam.json"
|
|
var NormalParamData = &NormalParam{}
|
|
|
|
func InitNormalParam() {
|
|
buf, err := os.ReadFile(NormalParamPath)
|
|
if err != nil {
|
|
logger.Logger.Warn("InitNormalParam os.ReadFile error ->", err)
|
|
}
|
|
|
|
err = json.Unmarshal(buf, NormalParamData)
|
|
if err != nil {
|
|
logger.Logger.Warn("InitNormalParam json.Unmarshal error ->", err)
|
|
}
|
|
|
|
if NormalParamData.LHMin == 0 {
|
|
NormalParamData.LHMin = 6000
|
|
}
|
|
|
|
if NormalParamData.LHMax == 0 {
|
|
NormalParamData.LHMax = 8500
|
|
}
|
|
|
|
if NormalParamData.FishRate == 0 {
|
|
NormalParamData.FishRate = 5
|
|
}
|
|
|
|
if NormalParamData.FishLuckRate == 0 {
|
|
NormalParamData.FishLuckRate = 10
|
|
}
|
|
|
|
if NormalParamData.MaxAddBase == 0 {
|
|
NormalParamData.MaxAddBase = 10
|
|
}
|
|
|
|
if NormalParamData.NormalAddBase == 0 {
|
|
NormalParamData.NormalAddBase = 5
|
|
}
|
|
|
|
if len(NormalParamData.AttrWeight) == 0 {
|
|
NormalParamData.AttrWeight = []float64{0.2, 0.2, 0.5, 0.1}
|
|
}
|
|
|
|
if len(NormalParamData.WinWeight) == 0 {
|
|
NormalParamData.WinWeight = []float64{0.3, 0.7}
|
|
}
|
|
if NormalParamData.WinMaxRate <= 1 {
|
|
NormalParamData.WinMaxRate = 4
|
|
}
|
|
|
|
if NormalParamData.DLAddRateBase <= 0.1 {
|
|
NormalParamData.DLAddRateBase = 1.8
|
|
}
|
|
|
|
if NormalParamData.NewManRate <= 0.0001 {
|
|
NormalParamData.NewManRate = 0.1
|
|
}
|
|
|
|
if len(NormalParamData.BetWeight) == 0 {
|
|
NormalParamData.BetWeight = []float64{0.6, 0.4}
|
|
}
|
|
|
|
if NormalParamData.BetMaxBase <= 0.0001 {
|
|
NormalParamData.BetMaxBase = 30.0
|
|
}
|
|
|
|
if NormalParamData.BetCutoffRate <= 0.0001 {
|
|
NormalParamData.BetCutoffRate = 0.3
|
|
}
|
|
|
|
if NormalParamData.VolatilityMaxRate <= 0.0001 {
|
|
NormalParamData.VolatilityMaxRate = 0.5
|
|
}
|
|
|
|
if NormalParamData.VolatilityGameNum <= 0.0001 {
|
|
NormalParamData.VolatilityGameNum = 800.0
|
|
}
|
|
|
|
if NormalParamData.AddRateNum <= 0.0001 {
|
|
NormalParamData.AddRateNum = 2.2
|
|
}
|
|
|
|
if NormalParamData.RobotRandomTimeMin == 0 {
|
|
NormalParamData.RobotRandomTimeMin = 15
|
|
}
|
|
|
|
if NormalParamData.RobotRandomTimeMax == 0 {
|
|
NormalParamData.RobotRandomTimeMax = 40
|
|
}
|
|
|
|
if NormalParamData.RollCoinMinLine == 0 {
|
|
NormalParamData.RollCoinMinLine = 30
|
|
}
|
|
|
|
if NormalParamData.RollCoinMinLine > 100 {
|
|
NormalParamData.RollCoinMinLine = 100
|
|
}
|
|
|
|
if len(NormalParamData.RollCoinNeedMin) == 0 {
|
|
NormalParamData.RollCoinNeedMin = []int64{30000, 100000, 300000, 1000000}
|
|
}
|
|
|
|
if len(NormalParamData.BullCardTypeWin) == 0 {
|
|
NormalParamData.BullCardTypeWin = []int{1300, 2500, 3000, 2500, 3000}
|
|
}
|
|
|
|
if len(NormalParamData.BullCardTypeWin2) == 0 {
|
|
NormalParamData.BullCardTypeWin2 = []int{1300, 2500, 3000, 2500, 3000}
|
|
}
|
|
|
|
if NormalParamData.HBChangeBankCardRate == 0 {
|
|
NormalParamData.HBChangeBankCardRate = 500
|
|
}
|
|
|
|
if NormalParamData.HBChangeBankCardLevel == 0 {
|
|
NormalParamData.HBChangeBankCardLevel = 1
|
|
}
|
|
|
|
if NormalParamData.HZJHChangeBankCardRate == 0 {
|
|
NormalParamData.HZJHChangeBankCardRate = 300
|
|
}
|
|
|
|
if NormalParamData.RobotVipChangeRate == 0 {
|
|
NormalParamData.RobotVipChangeRate = 2000
|
|
}
|
|
|
|
if NormalParamData.LHChangeCardRate == 0 {
|
|
NormalParamData.LHChangeCardRate = 300
|
|
}
|
|
|
|
if NormalParamData.FishBWAddNum == 0 {
|
|
NormalParamData.FishBWAddNum = 20
|
|
}
|
|
|
|
}
|