66 lines
1.2 KiB
Go
Raw Normal View History

2025-12-05 20:15:55 +08:00
package model
const (
LIVEROOM_STAGE_NULL = 0
LIVEROOM_STAGE_IDLE = 1
LIVEROOM_STAGE_READY = 2
LIVEROOM_STAGE_SHOW = 3
LIVEROOM_STAGE_RESULT = 4
)
const (
LIVEROOM_STAGE_IDLE_TIMER = 0
LIVEROOM_STAGE_SHOW_READY_TIMER = 15
LIVEROOM_STAGE_SHOWING_TIMER = 30
LIVEROOM_STAGE_SHOW_END_TIMER = 5
)
const (
LIVEROOM_TYPE_CARD = 1
LIVEROOM_TYPE_SELL = 2
LIVEROOM_TYPE_ANSWER = 3
LIVEROOM_TYPE_GAME = 4
)
const (
LIVEROOM_CARD_MAX_READY_NUM = 5
LIVEROOM_SELL_MAX_READY_NUM = 100
LIVEROOM_ANSWER_MAX_READY_NUM = 100
LIVEROOM_GAME_MAX_READY_NUM = 100
)
const (
LIVEROOM_MAX_PLAYER_NUM = 1000
LIVEROOM_TICK_INTERVAL = 1000
)
const (
LIVEROOM_CMD_TALK = 1
LIVEROOM_CMD_PLAY = 2
)
// 泛型按值删除
func SliceRemoveByValue[T comparable](slice []T, value T) []T {
result := slice[:0]
for _, v := range slice {
if v != value {
result = append(result, v)
}
}
return truncateSlice(result)
}
// 截断切片容量,避免内存泄漏
func truncateSlice[T any](slice []T) []T {
return slice[:len(slice):len(slice)]
}
func SliceIsExist[T comparable](slice []T, value T) bool {
for _, v := range slice {
if v == value {
return true
}
}
return false
}