Compare commits
5 Commits
4675e0ff58
...
3e853c2434
Author | SHA1 | Date |
---|---|---|
|
3e853c2434 | |
|
343d2466ef | |
|
3e97f97d38 | |
|
b56a874b36 | |
|
6adba98ddb |
|
@ -13,6 +13,7 @@ import (
|
|||
"mongo.games.com/game/dbproxy/mongo"
|
||||
"mongo.games.com/game/mgrsrv/api"
|
||||
"mongo.games.com/game/model"
|
||||
"mongo.games.com/game/webapi"
|
||||
"mongo.games.com/goserver/core/basic"
|
||||
"mongo.games.com/goserver/core/logger"
|
||||
"mongo.games.com/goserver/core/netlib"
|
||||
|
@ -119,6 +120,8 @@ func init() {
|
|||
gob.Register(map[string]*model.APITransactStats{})
|
||||
gob.Register(api.ApiStats{}) // 这里依赖了mgrsrv的结构体,会导致mgrsrv初始化,最好是把结构体放到一个公共包里,不要两个不相关的程序有直接依赖
|
||||
gob.Register(map[string]api.ApiStats{})
|
||||
gob.Register(webapi.ApiStats{})
|
||||
gob.Register(map[string]webapi.ApiStats{})
|
||||
gob.Register(mgo.Stats{})
|
||||
gob.Register(profile.TimeElement{})
|
||||
gob.Register(map[string]profile.TimeElement{})
|
||||
|
|
|
@ -279,3 +279,69 @@ func TestLogic_CompareFive(t *testing.T) {
|
|||
|
||||
func TestLogic_IsDP(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestStatisticsPokerType(t *testing.T) {
|
||||
poker := NewPokers(1, false)
|
||||
if poker == nil {
|
||||
return
|
||||
}
|
||||
|
||||
logic := new(Logic)
|
||||
|
||||
loop := 2000000
|
||||
allTypeData := make([]int, PokersTypeMax)
|
||||
specialAllTypeData := make([]int, SpecialTypeMax)
|
||||
|
||||
totalCnt := 0
|
||||
stotalCnt := 0
|
||||
|
||||
for i := 0; i < loop; i++ {
|
||||
poker.Init()
|
||||
cardsArr := make([][13]int, poker.N*4)
|
||||
//cardsGroup := make([]map[int]*Group, poker.N*4)
|
||||
|
||||
for k := range cardsArr {
|
||||
|
||||
cardsArr[k] = poker.Get13Crads()
|
||||
specialType := logic.GetSpecialType(cardsArr[k])
|
||||
specialAllTypeData[specialType]++
|
||||
stotalCnt++
|
||||
|
||||
//cardsGroup[k] = logic.Suggest(cardsArr[k])
|
||||
//
|
||||
//cardsO := GetMaxCard(cardsGroup[k])
|
||||
//
|
||||
//headType := logic.GetType(cardsO.Head[:])
|
||||
//midType := logic.GetType(cardsO.Mid[:])
|
||||
//endType := logic.GetType(cardsO.End[:])
|
||||
//
|
||||
//allTypeData[headType]++
|
||||
//totalCnt++
|
||||
//allTypeData[midType]++
|
||||
//totalCnt++
|
||||
//allTypeData[endType]++
|
||||
//totalCnt++
|
||||
//t.Logf("头牌类型:%v 中牌类型: %v 尾牌类型: %v \n", PokersTypeName[headType], PokersTypeName[midType], PokersTypeName[endType])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
t.Logf("共%v次循环", loop)
|
||||
//ccc := 0.0
|
||||
for pType, count := range allTypeData {
|
||||
percent := (float64(count) / float64(totalCnt)) * 100
|
||||
// t.Logf("牌类型:%v 占百分比: %.2f \n", PokersTypeName[pType], percent)
|
||||
t.Logf("%v %.2f\n", PokersTypeName[pType], percent)
|
||||
//ccc += percent
|
||||
}
|
||||
|
||||
t.Logf("特殊牌型共%v次循环", loop)
|
||||
//ccc := 0.0
|
||||
for pType, count := range specialAllTypeData {
|
||||
percent := (float64(count) / float64(stotalCnt)) * 100
|
||||
// t.Logf("牌类型:%v 占百分比: %.2f \n", PokersTypeName[pType], percent)
|
||||
t.Logf("%v %.10f\n", SpecialTypeName[pType], percent)
|
||||
//ccc += percent
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1100,10 +1100,10 @@ func (this *SceneEx) CountScore() {
|
|||
playerEx.winAllPlayers[k] += v
|
||||
// 全垒打分数
|
||||
if playerEx.Pos == this.isCanAllHitPos {
|
||||
this.seats[k].score[5] -= v
|
||||
this.seats[k].winAllPlayers[playerEx.Pos] -= v
|
||||
playerEx.score[5] += v
|
||||
playerEx.winAllPlayers[k] += v
|
||||
this.seats[k].score[5] -= v * 2
|
||||
this.seats[k].winAllPlayers[playerEx.Pos] -= v * 2
|
||||
playerEx.score[5] += v * 2
|
||||
playerEx.winAllPlayers[k] += v * 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -726,6 +726,7 @@ func (this *StateSendCard) OnEnter(s *base.Scene) {
|
|||
} else {
|
||||
sceneEx.testPokers = nil
|
||||
v.cards = sceneEx.poker.Get13Crads()
|
||||
v.allGroup = sceneEx.logic.Suggest(v.cards)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -866,10 +867,6 @@ func (this *StateOp) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, param
|
|||
copy(playerEx.cardsO.Mid[:], common.Int64Toint(params[3:8]))
|
||||
copy(playerEx.cardsO.End[:], common.Int64Toint(params[8:]))
|
||||
playerEx.cardsO.PokerType = 0
|
||||
tp := sceneEx.logic.GetSpecialType(playerEx.cards)
|
||||
if tp > 0 {
|
||||
playerEx.cardsO.PokerType = tp
|
||||
}
|
||||
sceneEx.SendSelectCards(playerEx, 0, int64(opcode))
|
||||
} else {
|
||||
sceneEx.SendSelectCards(playerEx, int(params[0]), int64(opcode))
|
||||
|
@ -916,10 +913,6 @@ func (this *StateOp) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, param
|
|||
copy(playerEx.preCardsO.Mid[:], common.Int64Toint(params[3:8]))
|
||||
copy(playerEx.preCardsO.End[:], common.Int64Toint(params[8:]))
|
||||
playerEx.preCardsO.PokerType = 0
|
||||
tp := sceneEx.logic.GetSpecialType(playerEx.cards)
|
||||
if tp > 0 {
|
||||
playerEx.preCardsO.PokerType = tp
|
||||
}
|
||||
}
|
||||
playerEx.SendToClient(int(thirteen.TWMmoPacketID_PACKET_SCThirteenPlayerOp), pack)
|
||||
|
||||
|
|
Loading…
Reference in New Issue