Compare commits
4 Commits
46a4255273
...
871c6ed72f
Author | SHA1 | Date |
---|---|---|
|
871c6ed72f | |
|
a13390909d | |
|
5d113056c8 | |
|
3c3b6f7376 |
|
@ -168,10 +168,10 @@ const (
|
|||
|
||||
// 房间模式
|
||||
const (
|
||||
SceneMode_Public = iota //公共房间
|
||||
SceneMode_Private //私人房间
|
||||
SceneMode_Match //赛事房间
|
||||
SceneMode_Thr //三方房间
|
||||
SceneMode_Public = 0 //公共房间
|
||||
SceneMode_Private = 2 //私人房间
|
||||
SceneMode_Match = 3 //赛事房间
|
||||
SceneMode_Thr = 4 //三方房间
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
|
@ -24,6 +24,7 @@ type PlayerEx struct {
|
|||
odds int32
|
||||
totalScore int64
|
||||
defGroup *thirteen.Group
|
||||
playerPool int // 个人水池分
|
||||
}
|
||||
|
||||
func (this *PlayerEx) Clear() {
|
||||
|
@ -46,6 +47,7 @@ func (this *PlayerEx) Clear() {
|
|||
this.odds = 0
|
||||
this.totalScore = 0
|
||||
this.defGroup = nil
|
||||
this.playerPool = 0
|
||||
this.TestLog = this.TestLog[:0]
|
||||
}
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@ type PlayerData struct {
|
|||
allGroup map[int]*rule.Group
|
||||
TestLog []string
|
||||
RoleId int32
|
||||
PlayerPool int // 个人水池分
|
||||
}
|
||||
|
||||
type SceneEx struct {
|
||||
|
@ -81,6 +82,7 @@ type SceneEx struct {
|
|||
LeaveNum int // 离场扣分人数
|
||||
testPokers []int64 // 测试牌堆
|
||||
logid string
|
||||
ctrlType int // 1控赢 2控输 0不控
|
||||
}
|
||||
|
||||
func NewThirteenWaterSceneData(s *base.Scene) *SceneEx {
|
||||
|
@ -121,6 +123,7 @@ func (this *SceneEx) Clear() {
|
|||
this.nowMaxCardsIsIn = true
|
||||
this.PlayerBackup = make(map[int32]*PlayerData)
|
||||
this.LeaveNum = 0
|
||||
this.ctrlType = 0
|
||||
|
||||
for i := 0; i < this.GetPlayerNum(); i++ {
|
||||
if this.seats[i] != nil {
|
||||
|
@ -1310,6 +1313,7 @@ func (this *SceneEx) BackupPlayer(p *PlayerEx, isBilled bool) {
|
|||
allGroup: p.allGroup,
|
||||
TestLog: testLog,
|
||||
RoleId: p.PlayerData.GetRoleId(),
|
||||
PlayerPool: p.playerPool,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1322,6 +1326,7 @@ func (this *SceneEx) SendHandCardOdds() {
|
|||
robotPlayers = append(robotPlayers, seat)
|
||||
} else {
|
||||
seat.odds = this.GetPlayerOdds(seat.Player, this.GameId, this.robotNum > 0)
|
||||
seat.playerPool = int(this.PlayerPoolOdds(seat.Player))
|
||||
if seat.odds > 0 {
|
||||
realPlayersGood = append(realPlayersGood, seat)
|
||||
G += seat.odds
|
||||
|
@ -1387,6 +1392,12 @@ func (this *SceneEx) SendHandCardOdds() {
|
|||
isGood := len(realPlayersGood) > 0 && int32(this.RandInt(1000)) < G
|
||||
isBad := len(realPlayersBad) > 0 && int32(this.RandInt(1000)) < B
|
||||
logger.Logger.Tracef("Thirteen SendHandCardOdds Good:%v G:%v Bad:%v B:%v", isGood, G, isBad, B)
|
||||
if isBad {
|
||||
this.ctrlType = 2
|
||||
}
|
||||
if isGood && !isBad {
|
||||
this.ctrlType = 1
|
||||
}
|
||||
if isGood || isBad {
|
||||
// 按从大到小排序
|
||||
this.cardsSort(cardsArr, cardsGroup)
|
||||
|
|
|
@ -1208,9 +1208,11 @@ func (this *StateBilled) OnEnter(s *base.Scene) {
|
|||
if sceneEx, ok := s.ExtraData.(*SceneEx); ok {
|
||||
//通知客户端结算结果
|
||||
var billed []*thirteen.Billed
|
||||
playerPool := map[int]int{}
|
||||
// 没离开,剩余玩家结算
|
||||
for _, playerEx := range sceneEx.players {
|
||||
if playerEx != nil && playerEx.IsGameing() {
|
||||
playerPool[int(playerEx.SnId)] = playerEx.playerPool
|
||||
if playerEx.gainCoin > 0 {
|
||||
//税前赢的钱 税收 下注额
|
||||
playerEx.AddServiceFee(playerEx.taxCoin)
|
||||
|
@ -1235,6 +1237,7 @@ func (this *StateBilled) OnEnter(s *base.Scene) {
|
|||
// 提前离开的
|
||||
for _, playerEx := range sceneEx.PlayerBackup {
|
||||
if playerEx != nil && playerEx.isBilled {
|
||||
playerPool[int(playerEx.SnId)] = playerEx.PlayerPool
|
||||
billed = append(billed, &thirteen.Billed{
|
||||
Pos: proto.Int32(int32(playerEx.Pos)),
|
||||
Coin: proto.Int64(playerEx.Coin),
|
||||
|
@ -1390,7 +1393,11 @@ func (this *StateBilled) OnEnter(s *base.Scene) {
|
|||
thirteenWaterType.PlayerCount = len(person)
|
||||
info, err := model.MarshalGameNoteByFIGHT(&thirteenWaterType)
|
||||
if err == nil {
|
||||
sceneEx.SaveGameDetailedLog(sceneEx.logid, info, &base.GameDetailedParam{})
|
||||
sceneEx.SaveGameDetailedLog(sceneEx.logid, info, &base.GameDetailedParam{
|
||||
Trend20Lately: "",
|
||||
CtrlType: sceneEx.ctrlType,
|
||||
PlayerPool: playerPool,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1055,6 +1055,13 @@ func GetPlayerDataBySnId(plt string, snid int32, correctData, createIfNotExist b
|
|||
logger.Logger.Tracef("Get %v %v player data error:%v", plt, snid, err)
|
||||
return nil, false
|
||||
}
|
||||
|
||||
// 设置本地时区
|
||||
ret.Pd.UpgradeTime = ret.Pd.UpgradeTime.Local()
|
||||
ret.Pd.CreateTime = ret.Pd.CreateTime.Local()
|
||||
ret.Pd.LastLoginTime = ret.Pd.LastLoginTime.Local()
|
||||
ret.Pd.LastLogoutTime = ret.Pd.LastLogoutTime.Local()
|
||||
|
||||
return ret.Pd, ret.IsNew
|
||||
}
|
||||
|
||||
|
|
|
@ -4726,7 +4726,7 @@ type CSQueryRoomInfo struct {
|
|||
GameIds []int32 `protobuf:"varint,1,rep,packed,name=GameIds,proto3" json:"GameIds,omitempty"`
|
||||
GameSite int32 `protobuf:"varint,2,opt,name=GameSite,proto3" json:"GameSite,omitempty"` //1.初级 2.中级 3.高级
|
||||
Id []int32 `protobuf:"varint,3,rep,packed,name=Id,proto3" json:"Id,omitempty"` //gamefreeid
|
||||
SceneMode int32 `protobuf:"varint,4,opt,name=SceneMode,proto3" json:"SceneMode,omitempty"` // 0公共房 1私人房
|
||||
SceneMode int32 `protobuf:"varint,4,opt,name=SceneMode,proto3" json:"SceneMode,omitempty"` // 0公共房 2私人房
|
||||
}
|
||||
|
||||
func (x *CSQueryRoomInfo) Reset() {
|
||||
|
|
|
@ -615,7 +615,7 @@ message CSQueryRoomInfo{
|
|||
repeated int32 GameIds = 1;
|
||||
int32 GameSite = 2; //1.初级 2.中级 3.高级
|
||||
repeated int32 Id = 3; //gamefreeid
|
||||
int32 SceneMode = 4; // 0公共房 1私人房
|
||||
int32 SceneMode = 4; // 0公共房 2私人房
|
||||
}
|
||||
|
||||
//个人创建的房间信息
|
||||
|
|
2
public
2
public
|
@ -1 +1 @@
|
|||
Subproject commit 7f2452e10c176dc35fc5ed1ffdb0b4145aec8160
|
||||
Subproject commit 549a622ad237392dddedae5d13456a06a8328fdd
|
Loading…
Reference in New Issue