samba/stub/clubRobot.go

40 lines
1.4 KiB
Go
Raw Permalink Normal View History

2025-06-04 09:51:39 +08:00
package stub
type ClubRobotConfig struct {
Id int `json:"id"` // 配置ID
RoomBlind int `json:"b"` // 对应房间底注
RoomPlayType int `json:"p"` // 对应房间玩法ID
RobotNum int `json:"robotnum"` // 机器人数量上限0关闭机器人
RobotEvaluation int `json:"bot_rate"` // 概率型机器人权重
RobotAplomb int `json:"bot_steady"` // 稳健型机器人权重
RobotRadical int `json:"bot_radical"` // 激进型机器人权重
RobotNormal int `json:"bot_normal"` // 普通型机器人权重
RobotRotten int `json:"bot_low"` // 摆烂型机器人权重
RobotMinScore int64 `json:"bot_min_score"` // 机器人积分下限
RobotMaxScore int64 `json:"bot_max_score"` // 机器人积分上限
}
var ClubRobotConfigs = map[int64]*ClubRobotConfig{}
func (c *ClubRobotConfig) RobotTempers() (rt map[RobotTemper]int, sumWeight int) {
rt = map[RobotTemper]int{}
rt[RteEvaluation] = c.RobotEvaluation
rt[RteAplomb] = c.RobotAplomb
rt[RteRadical] = c.RobotRadical
rt[RteNormal] = c.RobotNormal
rt[RteRotten] = c.RobotRotten
sumWeight = c.RobotEvaluation + c.RobotAplomb + c.RobotRadical + c.RobotNormal + c.RobotRotten
return
}
func FindClubRobotConfig(blind int64, playType int) *ClubRobotConfig {
for _, conf := range ClubRobotConfigs {
if int64(conf.RoomBlind) == blind && conf.RoomPlayType == playType {
return conf
}
}
return &ClubRobotConfig{}
}