Merge branch 'develop' of git.pogorockgames.com:mango-games/server/game into develop
This commit is contained in:
commit
92b17fdee9
|
@ -557,6 +557,60 @@ func (this *TienLenSceneData) GetFreeGameSceneType() int32 {
|
|||
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 发牌
|
||||
// 比赛场发牌
|
||||
// 纯真人,随机发牌
|
||||
|
|
|
@ -991,7 +991,7 @@ func (this *SceneHandCardStateTienLen) OnEnter(s *base.Scene) {
|
|||
if rule.TestOpen {
|
||||
sceneEx.SendHandCardTest()
|
||||
} else {
|
||||
if len(sceneEx.testPokers) > 1 {
|
||||
/*if len(sceneEx.testPokers) > 1 {
|
||||
sceneEx.SendHandCardOdds()
|
||||
} else {
|
||||
if sceneEx.IsMatchScene() || sceneEx.IsCustom() {
|
||||
|
@ -999,6 +999,16 @@ func (this *SceneHandCardStateTienLen) OnEnter(s *base.Scene) {
|
|||
} else {
|
||||
sceneEx.SendHandCardOdds()
|
||||
}
|
||||
}*/
|
||||
|
||||
if sceneEx.WGCreateScene.GetCloseCtrl() {
|
||||
sceneEx.RandomCards()
|
||||
} else {
|
||||
if sceneEx.IsMatchScene() || sceneEx.IsCustom() {
|
||||
sceneEx.SendHandCard_Match()
|
||||
} else {
|
||||
sceneEx.SendHandCardOdds()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue