Merge branch 'develop' of git.pogorockgames.com:mango-games/server/game into develop

This commit is contained in:
sk 2024-10-24 12:00:17 +08:00
commit 92b17fdee9
2 changed files with 65 additions and 1 deletions

View File

@ -557,6 +557,60 @@ func (this *TienLenSceneData) GetFreeGameSceneType() int32 {
return this.GetSceneType() return this.GetSceneType()
} }
// 纯随机发牌
func (this *TienLenSceneData) RandomCards() {
allCards := []int32{}
for i := 0; i < rule.POKER_CNT; i++ {
allCards = append(allCards, int32(i))
}
shuffleInts(allCards)
cardss := map[int][]int32{}
for i, card := range allCards {
if card != rule.InvalideCard {
index := i / 13
cardss[index] = append(cardss[index], int32(card))
}
}
minCard := int32(999)
for i, seat := range this.seats {
if seat != nil && seat.IsGameing() {
for index, card := range cardss[i] {
seat.cards[index] = card
if rule.Value(card) < rule.Value(minCard) {
this.startOpPos = int32(seat.GetPos())
minCard = card
this.curMinCard = minCard
} else if rule.Value(card) == rule.Value(minCard) {
if rule.Color(card) < rule.Color(minCard) {
this.startOpPos = int32(seat.GetPos())
minCard = card
this.curMinCard = minCard
}
}
}
pack := &tienlen.SCTienLenCard{}
for j := int32(0); j < rule.HandCardNum; j++ {
pack.Cards = append(pack.Cards, seat.cards[j])
}
pack.IsOutRecord = seat.CanUseRecordItem()
proto.SetDefaults(pack)
seat.SendToClient(int(tienlen.TienLenPacketID_PACKET_SCTienLenCard), pack)
logger.Logger.Trace("SnId: ", seat.SnId, ";SCTienLenCard: ", pack.Cards)
pack.SnId = seat.SnId
this.BroadcastToAudience(int(tienlen.TienLenPacketID_PACKET_SCTienLenCard), pack)
}
}
}
func shuffleInts(ints []int32) {
// 使用当前时间作为随机种子
rand.Seed(time.Now().UnixNano())
for i := len(ints) - 1; i > 0; i-- {
j := rand.Intn(i + 1)
ints[i], ints[j] = ints[j], ints[i]
}
}
// SendHandCard_Match 发牌 // SendHandCard_Match 发牌
// 比赛场发牌 // 比赛场发牌
// 纯真人,随机发牌 // 纯真人,随机发牌

View File

@ -991,7 +991,7 @@ func (this *SceneHandCardStateTienLen) OnEnter(s *base.Scene) {
if rule.TestOpen { if rule.TestOpen {
sceneEx.SendHandCardTest() sceneEx.SendHandCardTest()
} else { } else {
if len(sceneEx.testPokers) > 1 { /*if len(sceneEx.testPokers) > 1 {
sceneEx.SendHandCardOdds() sceneEx.SendHandCardOdds()
} else { } else {
if sceneEx.IsMatchScene() || sceneEx.IsCustom() { if sceneEx.IsMatchScene() || sceneEx.IsCustom() {
@ -999,6 +999,16 @@ func (this *SceneHandCardStateTienLen) OnEnter(s *base.Scene) {
} else { } else {
sceneEx.SendHandCardOdds() sceneEx.SendHandCardOdds()
} }
}*/
if sceneEx.WGCreateScene.GetCloseCtrl() {
sceneEx.RandomCards()
} else {
if sceneEx.IsMatchScene() || sceneEx.IsCustom() {
sceneEx.SendHandCard_Match()
} else {
sceneEx.SendHandCardOdds()
}
} }
} }