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/dbproxy/mongo"
|
||||||
"mongo.games.com/game/mgrsrv/api"
|
"mongo.games.com/game/mgrsrv/api"
|
||||||
"mongo.games.com/game/model"
|
"mongo.games.com/game/model"
|
||||||
|
"mongo.games.com/game/webapi"
|
||||||
"mongo.games.com/goserver/core/basic"
|
"mongo.games.com/goserver/core/basic"
|
||||||
"mongo.games.com/goserver/core/logger"
|
"mongo.games.com/goserver/core/logger"
|
||||||
"mongo.games.com/goserver/core/netlib"
|
"mongo.games.com/goserver/core/netlib"
|
||||||
|
@ -119,6 +120,8 @@ func init() {
|
||||||
gob.Register(map[string]*model.APITransactStats{})
|
gob.Register(map[string]*model.APITransactStats{})
|
||||||
gob.Register(api.ApiStats{}) // 这里依赖了mgrsrv的结构体,会导致mgrsrv初始化,最好是把结构体放到一个公共包里,不要两个不相关的程序有直接依赖
|
gob.Register(api.ApiStats{}) // 这里依赖了mgrsrv的结构体,会导致mgrsrv初始化,最好是把结构体放到一个公共包里,不要两个不相关的程序有直接依赖
|
||||||
gob.Register(map[string]api.ApiStats{})
|
gob.Register(map[string]api.ApiStats{})
|
||||||
|
gob.Register(webapi.ApiStats{})
|
||||||
|
gob.Register(map[string]webapi.ApiStats{})
|
||||||
gob.Register(mgo.Stats{})
|
gob.Register(mgo.Stats{})
|
||||||
gob.Register(profile.TimeElement{})
|
gob.Register(profile.TimeElement{})
|
||||||
gob.Register(map[string]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 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
|
playerEx.winAllPlayers[k] += v
|
||||||
// 全垒打分数
|
// 全垒打分数
|
||||||
if playerEx.Pos == this.isCanAllHitPos {
|
if playerEx.Pos == this.isCanAllHitPos {
|
||||||
this.seats[k].score[5] -= v
|
this.seats[k].score[5] -= v * 2
|
||||||
this.seats[k].winAllPlayers[playerEx.Pos] -= v
|
this.seats[k].winAllPlayers[playerEx.Pos] -= v * 2
|
||||||
playerEx.score[5] += v
|
playerEx.score[5] += v * 2
|
||||||
playerEx.winAllPlayers[k] += v
|
playerEx.winAllPlayers[k] += v * 2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -726,6 +726,7 @@ func (this *StateSendCard) OnEnter(s *base.Scene) {
|
||||||
} else {
|
} else {
|
||||||
sceneEx.testPokers = nil
|
sceneEx.testPokers = nil
|
||||||
v.cards = sceneEx.poker.Get13Crads()
|
v.cards = sceneEx.poker.Get13Crads()
|
||||||
|
v.allGroup = sceneEx.logic.Suggest(v.cards)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} 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.Mid[:], common.Int64Toint(params[3:8]))
|
||||||
copy(playerEx.cardsO.End[:], common.Int64Toint(params[8:]))
|
copy(playerEx.cardsO.End[:], common.Int64Toint(params[8:]))
|
||||||
playerEx.cardsO.PokerType = 0
|
playerEx.cardsO.PokerType = 0
|
||||||
tp := sceneEx.logic.GetSpecialType(playerEx.cards)
|
|
||||||
if tp > 0 {
|
|
||||||
playerEx.cardsO.PokerType = tp
|
|
||||||
}
|
|
||||||
sceneEx.SendSelectCards(playerEx, 0, int64(opcode))
|
sceneEx.SendSelectCards(playerEx, 0, int64(opcode))
|
||||||
} else {
|
} else {
|
||||||
sceneEx.SendSelectCards(playerEx, int(params[0]), int64(opcode))
|
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.Mid[:], common.Int64Toint(params[3:8]))
|
||||||
copy(playerEx.preCardsO.End[:], common.Int64Toint(params[8:]))
|
copy(playerEx.preCardsO.End[:], common.Int64Toint(params[8:]))
|
||||||
playerEx.preCardsO.PokerType = 0
|
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)
|
playerEx.SendToClient(int(thirteen.TWMmoPacketID_PACKET_SCThirteenPlayerOp), pack)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue