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

62 lines
1.4 KiB
Go
Raw 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
import (
"fmt"
"samba/pkg/log"
"samba/proto"
)
const (
Cacheta = "cacheta"
Truco = "truco"
)
type GamePlayType struct {
Id int `json:"id"`
Name string `json:"name"` // 玩法名称
DecidingAgreePoint int `json:"point"` // 决胜手同意分
TriggerDecidingPoint int `json:"trigger_point"` // 决胜手触发分数
Draw int64 `json:"draw"` // 是否翻牌
Raise int64 `json:"bet"` // 加分时是否加注
}
var GamePlayTypes = map[int]*GamePlayType{
10000: {
Id: 1000,
Name: "paulista-clean",
DecidingAgreePoint: 3,
TriggerDecidingPoint: 11,
Draw: 1,
Raise: 0,
},
}
func FindGamePlayTypeCnf(roomType int) (*GamePlayType, proto.ErrorCode) {
if cnf, ok := GamePlayTypes[roomType]; ok {
return cnf, proto.Ok
}
log.Error(fmt.Sprintf("roomType:%v is not exist", roomType))
return nil, proto.Internal
}
// FindPlayTypeCnfByGame 根据游戏名获取游戏类型的所有配置id
func FindPlayTypeCnfByGame(name string) []int {
rg := [2]int{}
// 每种游戏的id值范围左闭右开
switch name {
case Truco:
rg[0], rg[1] = 1000, 1100
case Cacheta:
rg[0], rg[1] = 1100, 1200
default:
return nil
}
res := make([]int, 0)
for id, _ := range GamePlayTypes {
if id >= rg[0] && id < rg[1] {
res = append(res, id)
}
}
return res
}