samba/stub/clubRobot.go
2025-06-04 09:51:39 +08:00

40 lines
1.4 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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{}
}