2025/6/14
This commit is contained in:
parent
f6f3a041b9
commit
886c3d88b6
12
server/.idea/workspace.xml
generated
12
server/.idea/workspace.xml
generated
@ -8,21 +8,15 @@
|
|||||||
<change beforePath="$PROJECT_DIR$/../doc/etcd-v3.5.17-windows-amd64/default.etcd/member/snap/db" beforeDir="false" afterPath="$PROJECT_DIR$/../doc/etcd-v3.5.17-windows-amd64/default.etcd/member/snap/db" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/../doc/etcd-v3.5.17-windows-amd64/default.etcd/member/snap/db" beforeDir="false" afterPath="$PROJECT_DIR$/../doc/etcd-v3.5.17-windows-amd64/default.etcd/member/snap/db" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/../doc/etcd-v3.5.17-windows-amd64/default.etcd/member/wal/0000000000000000-0000000000000000.wal" beforeDir="false" afterPath="$PROJECT_DIR$/../doc/etcd-v3.5.17-windows-amd64/default.etcd/member/wal/0000000000000000-0000000000000000.wal" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/../doc/etcd-v3.5.17-windows-amd64/default.etcd/member/wal/0000000000000000-0000000000000000.wal" beforeDir="false" afterPath="$PROJECT_DIR$/../doc/etcd-v3.5.17-windows-amd64/default.etcd/member/wal/0000000000000000-0000000000000000.wal" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/baseserver/router/route_table.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/baseserver/router/route_table.go" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/config/csv/FruitAwardCfg.csv" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/config/csv/FruitAwardCfg.csv" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/roserver/config/csv/FruitAwardCfg.csv" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/config/csv/FruitAwardCfg.csv" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/config/csv/FruitSlotTypeCfg.csv" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/config/csv/FruitSlotTypeCfg.csv" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/roserver/fruit/model/fruit_player.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/fruit/model/fruit_player.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/fruit/model/fruit_manager.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/fruit/model/fruit_manager.go" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/fruit/model/fruit_room.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/fruit/model/fruit_room.go" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/roserver/fruit/model/fruit_room.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/fruit/model/fruit_room.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/fruit/msg/fruit_msg.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/fruit/msg/fruit_msg.go" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/roserver/fruit/msg/fruit_msg.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/fruit/msg/fruit_msg.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/game/msg/fruit_msg.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/game/msg/fruit_msg.go" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/pprof/guildmem.pprof/mem.pprof" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/pprof/guildmem.pprof/mem.pprof" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/roserver/pprof/guildmem.pprof/mem.pprof" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/pprof/guildmem.pprof/mem.pprof" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/serverproto/buildproto.bat" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/buildproto.bat" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/serverproto/login.pb.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/login.pb.go" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/roserver/serverproto/login.pb.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/login.pb.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/serverproto/login.proto" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/login.proto" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/roserver/serverproto/login.proto" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/login.proto" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/serverproto/messagedef.pb.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/messagedef.pb.go" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/roserver/serverproto/user.pb.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/user.pb.go" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/serverproto/messagedef.proto" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/messagedef.proto" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/roserver/serverproto/user.proto" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/user.proto" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/serverproto/messagedefclient.proto" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/messagedefclient.proto" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/roserver/serverproto/pbbind_gen.go" beforeDir="false" afterPath="$PROJECT_DIR$/roserver/serverproto/pbbind_gen.go" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|||||||
@ -1,25 +1,26 @@
|
|||||||
Slot Id,Slot类型,基础权重,坐庄权重,动态权重,提示
|
Slot Id,Slot类型,基础权重,坐庄权重,动态权重,提示
|
||||||
Id,SlotTypes,Rate,Z_Rate,D_Rate,Tips
|
Id,SlotTypes,Rate,Z_Rate,D_Rate,Tips
|
||||||
int,list,int,int,int,string
|
int,list,int,int,int,string
|
||||||
1,1,2400,500,30,small apple
|
1,1,180,0,0,small apple
|
||||||
2,2,2400,500,30,small orange
|
2,2,180,0,0,small orange
|
||||||
3,3,2400,500,30,small papaya
|
3,3,180,0,0,small papaya
|
||||||
4,4,2400,500,30,small bell
|
4,4,180,0,0,small bell
|
||||||
5,5,2400,500,30,small watermelon
|
5,5,180,0,0,small watermelon
|
||||||
6,6,2400,500,30,small star
|
6,6,180,0,0,small star
|
||||||
7,7,2400,500,30,small 77
|
7,7,180,0,0,small 77
|
||||||
8,8,200,45,8,small BAR
|
8,8,20,0,10,small BAR
|
||||||
9,9,2000,350,30,big apple
|
9,9,240,0,60,big apple
|
||||||
10,10,1000,200,15,big orange
|
10,10,120,0,30,big orange
|
||||||
11,11,700,150,10,big papaya
|
11,11,80,0,20,big papaya
|
||||||
12,12,500,110,10,big bell
|
12,12,60,0,15,big bell
|
||||||
13,13,500,110,10,big watermelon
|
13,13,60,0,15,big watermelon
|
||||||
14,14,330,80,6,big star
|
14,14,40,0,10,big star
|
||||||
15,15,270,60,5,big 77
|
15,15,30,0,7,big 77
|
||||||
16,16,100,25,5,big BAR
|
16,16,10,0,3,big BAR
|
||||||
100,9;10;11;12;13;14;15;8;16,400,80,10,bonus
|
100,9;10;11;12;13;14;15;8;16,30,0,10,left bonus
|
||||||
101,1;2;3;4;5;6;7,6000,6000,100,small ManGuan
|
101,9;10;11;12;13;14;15;8;16,30,0,10,right bonus
|
||||||
102,9;9;9;9,1300,1300,30,big SiXi
|
102,1;2;3;4;5;6;7,30,0,50,small ManGuan
|
||||||
103,10;11;12,1000,1600,30,small SanYuan
|
103,9;9;9;9,30,0,40,big SiXi
|
||||||
104,13;14;15,600,800,20,big SanYuan
|
104,10;11;12,30,0,30,small SanYuan
|
||||||
105,9;10;11;12;13;14;15,400,500,20,big ManGuan
|
105,13;14;15,30,0,10,big SanYuan
|
||||||
|
106,9;10;11;12;13;14;15,30,0,5,big ManGuan
|
||||||
|
|||||||
|
@ -1,5 +1,7 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
|
import "roserver/serverproto"
|
||||||
|
|
||||||
type FruitPlayer struct {
|
type FruitPlayer struct {
|
||||||
Uid uint64
|
Uid uint64
|
||||||
Name string
|
Name string
|
||||||
@ -8,7 +10,8 @@ type FruitPlayer struct {
|
|||||||
ChipNum int32
|
ChipNum int32
|
||||||
CurrBetInfo map[int32]int32
|
CurrBetInfo map[int32]int32
|
||||||
|
|
||||||
CurrAwardChipNum int32
|
CurrAwardChipNum int32
|
||||||
|
CurrAwardChipInfo []*serverproto.FruitSlotInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
func newFruitPlayer(uid uint64, name string) *FruitPlayer {
|
func newFruitPlayer(uid uint64, name string) *FruitPlayer {
|
||||||
|
|||||||
@ -95,14 +95,14 @@ func (self *FruitRoom) Leave(uid uint64) {
|
|||||||
self.uidList = sliceRemoveValueFast(self.uidList, uid)
|
self.uidList = sliceRemoveValueFast(self.uidList, uid)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *FruitRoom) Bet(uid uint64, betInfo []*serverproto.FruitSlotBetInfo) serverproto.ErrorCode {
|
func (self *FruitRoom) Bet(uid uint64, betInfo []*serverproto.FruitSlotInfo) serverproto.ErrorCode {
|
||||||
if self.Stage != ROOM_STAGE_BET {
|
if self.Stage != ROOM_STAGE_BET {
|
||||||
return serverproto.ErrorCode_ERROR_FRUIT_CURR_STAGE_CANNOT_BET
|
return serverproto.ErrorCode_ERROR_FRUIT_CURR_STAGE_CANNOT_BET
|
||||||
}
|
}
|
||||||
player := FruitMgr.GetPlayer(uid)
|
player := FruitMgr.GetPlayer(uid)
|
||||||
for _, v := range betInfo {
|
for _, v := range betInfo {
|
||||||
slot := v.Slot
|
slot := v.Slot
|
||||||
betNum := v.BetNum
|
betNum := v.Num
|
||||||
if player.ChipNum >= betNum {
|
if player.ChipNum >= betNum {
|
||||||
player.ChipNum -= betNum
|
player.ChipNum -= betNum
|
||||||
player.CurrBetInfo[slot] += betNum
|
player.CurrBetInfo[slot] += betNum
|
||||||
@ -155,19 +155,28 @@ func (self *FruitRoom) Roll(rateItems []*FruitRateInfo) *FruitRateInfo {
|
|||||||
return rateItems[0]
|
return rateItems[0]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *FruitRoom) CheckPlayerAward(playerBetInfo map[int32]int32, slotTypes []string) int32 {
|
func (self *FruitRoom) CheckPlayerAward(playerBetInfo map[int32]int32, awardType_2_awardSlot map[int32]string, slotTypes []string) (int32, []*serverproto.FruitSlotInfo) {
|
||||||
|
awardInfo := make([]*serverproto.FruitSlotInfo, 0)
|
||||||
var sumAwardChip int32 = 0
|
var sumAwardChip int32 = 0
|
||||||
for _, v := range slotTypes {
|
for _, v := range slotTypes {
|
||||||
slotType, _ := strconv.Atoi(v)
|
slotType, _ := strconv.Atoi(v)
|
||||||
slotTypeCfg := serverproto.FruitSlotTypeCfgLoader[int32(slotType)]
|
slotTypeCfg := serverproto.FruitSlotTypeCfgLoader[int32(slotType)]
|
||||||
idx := slotType
|
betSlotId := slotType
|
||||||
if slotType > 8 {
|
if slotType > 8 {
|
||||||
idx = slotType - 8
|
betSlotId = slotType - 8
|
||||||
|
}
|
||||||
|
betChipNum := playerBetInfo[int32(betSlotId)]
|
||||||
|
if betChipNum > 0 {
|
||||||
|
awardChip := betChipNum * slotTypeCfg.Times
|
||||||
|
slot, _ := strconv.Atoi(awardType_2_awardSlot[int32(slotType)])
|
||||||
|
awardInfo = append(awardInfo, &serverproto.FruitSlotInfo{
|
||||||
|
Slot: int32(slot),
|
||||||
|
Num: awardChip,
|
||||||
|
})
|
||||||
|
sumAwardChip += awardChip
|
||||||
}
|
}
|
||||||
betChipNum := playerBetInfo[int32(idx)]
|
|
||||||
sumAwardChip = betChipNum * slotTypeCfg.Times
|
|
||||||
}
|
}
|
||||||
return sumAwardChip
|
return sumAwardChip, awardInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *FruitRoom) GetPlayerRank(rank []*serverproto.FruitPlayerAwardInfo) []*serverproto.FruitPlayerAwardInfo {
|
func (self *FruitRoom) GetPlayerRank(rank []*serverproto.FruitPlayerAwardInfo) []*serverproto.FruitPlayerAwardInfo {
|
||||||
@ -190,7 +199,8 @@ func (self *FruitRoom) Settle() {
|
|||||||
rollResult := self.Roll(rateItems)
|
rollResult := self.Roll(rateItems)
|
||||||
self.RecordSettleHistory(rollResult.AwardType)
|
self.RecordSettleHistory(rollResult.AwardType)
|
||||||
self.CurrAwardType = rollResult.AwardType
|
self.CurrAwardType = rollResult.AwardType
|
||||||
if rollResult.AwardType == 100 {
|
awardSlotType_2_awardSlotId := make(map[int32]string, 0)
|
||||||
|
if rollResult.AwardType == 100 || rollResult.AwardType == 101 {
|
||||||
slotTypeStr := rollResult.SlotTypes[rand.Intn(len(rollResult.SlotTypes))]
|
slotTypeStr := rollResult.SlotTypes[rand.Intn(len(rollResult.SlotTypes))]
|
||||||
slotType, _ := strconv.Atoi(slotTypeStr)
|
slotType, _ := strconv.Atoi(slotTypeStr)
|
||||||
awardSlots := make([]string, 0)
|
awardSlots := make([]string, 0)
|
||||||
@ -202,15 +212,17 @@ func (self *FruitRoom) Settle() {
|
|||||||
slot, _ := strconv.Atoi(v)
|
slot, _ := strconv.Atoi(v)
|
||||||
tempAwardSlots = append(tempAwardSlots, int32(slot))
|
tempAwardSlots = append(tempAwardSlots, int32(slot))
|
||||||
}
|
}
|
||||||
|
awardSlotType_2_awardSlotId[int32(slotType)] = awardSlot
|
||||||
self.CurrAwardSlots = tempAwardSlots
|
self.CurrAwardSlots = tempAwardSlots
|
||||||
self.CurrStartSlot = self.CurrTargetSlot
|
self.CurrStartSlot = self.CurrTargetSlot
|
||||||
} else if rollResult.AwardType >= 101 {
|
} else {
|
||||||
awardSlots := make([]string, 0)
|
awardSlots := make([]string, 0)
|
||||||
for _, v := range rollResult.SlotTypes {
|
for _, v := range rollResult.SlotTypes {
|
||||||
slotType, _ := strconv.Atoi(v)
|
slotType, _ := strconv.Atoi(v)
|
||||||
slotTypeCfg := serverproto.FruitSlotTypeCfgLoader[int32(slotType)]
|
slotTypeCfg := serverproto.FruitSlotTypeCfgLoader[int32(slotType)]
|
||||||
awardSlot := self.RandomSlot(slotTypeCfg.Slots, awardSlots)
|
awardSlot := self.RandomSlot(slotTypeCfg.Slots, awardSlots)
|
||||||
awardSlots = append(awardSlots, awardSlot)
|
awardSlots = append(awardSlots, awardSlot)
|
||||||
|
awardSlotType_2_awardSlotId[int32(slotType)] = awardSlot
|
||||||
}
|
}
|
||||||
tempAwardSlots := make([]int32, 0)
|
tempAwardSlots := make([]int32, 0)
|
||||||
for _, v := range awardSlots {
|
for _, v := range awardSlots {
|
||||||
@ -224,6 +236,10 @@ func (self *FruitRoom) Settle() {
|
|||||||
if self.CurrAwardType >= 1 && self.CurrAwardType <= 16 {
|
if self.CurrAwardType >= 1 && self.CurrAwardType <= 16 {
|
||||||
// normal award
|
// normal award
|
||||||
self.CurrTargetSlot = self.CurrAwardSlots[0]
|
self.CurrTargetSlot = self.CurrAwardSlots[0]
|
||||||
|
} else if self.CurrAwardType == 100 {
|
||||||
|
self.CurrTargetSlot = 10
|
||||||
|
} else if self.CurrAwardType == 101 {
|
||||||
|
self.CurrTargetSlot = 22
|
||||||
} else {
|
} else {
|
||||||
// special award
|
// special award
|
||||||
if rand.Intn(2) == 0 {
|
if rand.Intn(2) == 0 {
|
||||||
@ -237,7 +253,9 @@ func (self *FruitRoom) Settle() {
|
|||||||
for i := 0; i < len(self.uidList); i++ {
|
for i := 0; i < len(self.uidList); i++ {
|
||||||
uid := self.uidList[i]
|
uid := self.uidList[i]
|
||||||
player := FruitMgr.GetPlayer(uid)
|
player := FruitMgr.GetPlayer(uid)
|
||||||
player.CurrAwardChipNum = self.CheckPlayerAward(player.CurrBetInfo, rollResult.SlotTypes)
|
sumAwardChipNum, awardChipInfo := self.CheckPlayerAward(player.CurrBetInfo, awardSlotType_2_awardSlotId, rollResult.SlotTypes)
|
||||||
|
player.CurrAwardChipNum = sumAwardChipNum
|
||||||
|
player.CurrAwardChipInfo = awardChipInfo
|
||||||
player.ChipNum += player.CurrAwardChipNum
|
player.ChipNum += player.CurrAwardChipNum
|
||||||
self.PoolChipNum = self.PoolChipNum - player.CurrAwardChipNum
|
self.PoolChipNum = self.PoolChipNum - player.CurrAwardChipNum
|
||||||
if self.PoolChipNum < 0 {
|
if self.PoolChipNum < 0 {
|
||||||
@ -264,6 +282,7 @@ func (self *FruitRoom) Settle() {
|
|||||||
AwardType: self.CurrAwardType,
|
AwardType: self.CurrAwardType,
|
||||||
AwardChipNum: player.CurrAwardChipNum,
|
AwardChipNum: player.CurrAwardChipNum,
|
||||||
AwardSlots: self.CurrAwardSlots,
|
AwardSlots: self.CurrAwardSlots,
|
||||||
|
AwardChipInfo: player.CurrAwardChipInfo,
|
||||||
SettleHistory: self.SettleHistory,
|
SettleHistory: self.SettleHistory,
|
||||||
StartSlot: self.CurrStartSlot,
|
StartSlot: self.CurrStartSlot,
|
||||||
TargetSlot: self.CurrTargetSlot,
|
TargetSlot: self.CurrTargetSlot,
|
||||||
@ -316,13 +335,13 @@ func (self *FruitRoom) RandomSlot(slots []string, excludeSlots []string) string
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (self *FruitRoom) SecTick() {
|
func (self *FruitRoom) SecTick() {
|
||||||
totalBetInfo := make([]*serverproto.FruitSlotBetInfo, 0)
|
totalBetInfo := make([]*serverproto.FruitSlotInfo, 0)
|
||||||
var i int32
|
var i int32
|
||||||
for i = 1; i <= 8; i++ {
|
for i = 1; i <= 8; i++ {
|
||||||
slotTotalBetNum := self.TotalBetInfo[i]
|
slotTotalBetNum := self.TotalBetInfo[i]
|
||||||
totalBetInfo = append(totalBetInfo, &serverproto.FruitSlotBetInfo{
|
totalBetInfo = append(totalBetInfo, &serverproto.FruitSlotInfo{
|
||||||
Slot: i,
|
Slot: i,
|
||||||
BetNum: slotTotalBetNum,
|
Num: slotTotalBetNum,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
for i := 0; i < len(self.uidList); i++ {
|
for i := 0; i < len(self.uidList); i++ {
|
||||||
|
|||||||
@ -30,20 +30,20 @@ func init() {
|
|||||||
model2.FruitMgr.Room.Join(msg.Uid)
|
model2.FruitMgr.Room.Join(msg.Uid)
|
||||||
player := model2.FruitMgr.GetPlayer(msg.Uid)
|
player := model2.FruitMgr.GetPlayer(msg.Uid)
|
||||||
player.ChipNum = 10000
|
player.ChipNum = 10000
|
||||||
totalBetInfo := make([]*serverproto.FruitSlotBetInfo, 0)
|
totalBetInfo := make([]*serverproto.FruitSlotInfo, 0)
|
||||||
for slot := 1; slot <= 8; slot++ {
|
for slot := 1; slot <= 8; slot++ {
|
||||||
betNum := model2.FruitMgr.Room.TotalBetInfo[int32(slot)]
|
betNum := model2.FruitMgr.Room.TotalBetInfo[int32(slot)]
|
||||||
totalBetInfo = append(totalBetInfo, &serverproto.FruitSlotBetInfo{
|
totalBetInfo = append(totalBetInfo, &serverproto.FruitSlotInfo{
|
||||||
Slot: int32(slot),
|
Slot: int32(slot),
|
||||||
BetNum: betNum,
|
Num: betNum,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
myBetInfo := make([]*serverproto.FruitSlotBetInfo, 0)
|
myBetInfo := make([]*serverproto.FruitSlotInfo, 0)
|
||||||
for slot := 1; slot <= 8; slot++ {
|
for slot := 1; slot <= 8; slot++ {
|
||||||
betNum := player.CurrBetInfo[int32(slot)]
|
betNum := player.CurrBetInfo[int32(slot)]
|
||||||
myBetInfo = append(myBetInfo, &serverproto.FruitSlotBetInfo{
|
myBetInfo = append(myBetInfo, &serverproto.FruitSlotInfo{
|
||||||
Slot: int32(slot),
|
Slot: int32(slot),
|
||||||
BetNum: betNum,
|
Num: betNum,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
ackMsg := &serverproto.SCFruitJoinAck{
|
ackMsg := &serverproto.SCFruitJoinAck{
|
||||||
@ -57,6 +57,7 @@ func init() {
|
|||||||
MyBetInfo: myBetInfo,
|
MyBetInfo: myBetInfo,
|
||||||
SettleHistory: model2.FruitMgr.Room.SettleHistory,
|
SettleHistory: model2.FruitMgr.Room.SettleHistory,
|
||||||
CurrAwardSlots: model2.FruitMgr.Room.CurrAwardSlots,
|
CurrAwardSlots: model2.FruitMgr.Room.CurrAwardSlots,
|
||||||
|
CurrTargetSlot: model2.FruitMgr.Room.CurrTargetSlot,
|
||||||
PlayerAwardRank: model2.FruitMgr.Room.CurrPlayerAwardRank,
|
PlayerAwardRank: model2.FruitMgr.Room.CurrPlayerAwardRank,
|
||||||
}
|
}
|
||||||
model.ServiceReplay(ev, ackMsg)
|
model.ServiceReplay(ev, ackMsg)
|
||||||
@ -79,19 +80,19 @@ func init() {
|
|||||||
uid := msg.Uid
|
uid := msg.Uid
|
||||||
errCode := model2.FruitMgr.Room.Bet(msg.Uid, msg.GetBetInfo())
|
errCode := model2.FruitMgr.Room.Bet(msg.Uid, msg.GetBetInfo())
|
||||||
player := model2.FruitMgr.GetPlayer(uid)
|
player := model2.FruitMgr.GetPlayer(uid)
|
||||||
totalBetInfo := make([]*serverproto.FruitSlotBetInfo, 0)
|
totalBetInfo := make([]*serverproto.FruitSlotInfo, 0)
|
||||||
myBetInfo := make([]*serverproto.FruitSlotBetInfo, 0)
|
myBetInfo := make([]*serverproto.FruitSlotInfo, 0)
|
||||||
var i int32
|
var i int32
|
||||||
for i = 1; i <= 8; i++ {
|
for i = 1; i <= 8; i++ {
|
||||||
slotTotalBetNum := model2.FruitMgr.Room.TotalBetInfo[i]
|
slotTotalBetNum := model2.FruitMgr.Room.TotalBetInfo[i]
|
||||||
myBetNum := player.CurrBetInfo[i]
|
myBetNum := player.CurrBetInfo[i]
|
||||||
totalBetInfo = append(totalBetInfo, &serverproto.FruitSlotBetInfo{
|
totalBetInfo = append(totalBetInfo, &serverproto.FruitSlotInfo{
|
||||||
Slot: i,
|
Slot: i,
|
||||||
BetNum: slotTotalBetNum,
|
Num: slotTotalBetNum,
|
||||||
})
|
})
|
||||||
myBetInfo = append(myBetInfo, &serverproto.FruitSlotBetInfo{
|
myBetInfo = append(myBetInfo, &serverproto.FruitSlotInfo{
|
||||||
Slot: i,
|
Slot: i,
|
||||||
BetNum: myBetNum,
|
Num: myBetNum,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
ackMsg := &serverproto.SCFruitBetAck{
|
ackMsg := &serverproto.SCFruitBetAck{
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -3779,11 +3779,12 @@ message SCFruitJoinAck { //project game|fruit //RouteRule game
|
|||||||
int32 sec = 4; //时间秒
|
int32 sec = 4; //时间秒
|
||||||
int32 my_chip_num = 5; //玩家筹码
|
int32 my_chip_num = 5; //玩家筹码
|
||||||
int32 pool_chip_num = 6; //奖池
|
int32 pool_chip_num = 6; //奖池
|
||||||
repeated FruitSlotBetInfo total_bet_info = 7; //总的押注信息
|
repeated FruitSlotInfo total_bet_info = 7; //总的押注信息
|
||||||
repeated FruitSlotBetInfo my_bet_info = 8; //当前玩家的押注信息
|
repeated FruitSlotInfo my_bet_info = 8; //当前玩家的押注信息
|
||||||
repeated int32 settle_history = 9; //开奖历史记录
|
repeated int32 settle_history = 9; //开奖历史记录
|
||||||
repeated int32 curr_award_slots = 10; //上次开奖结果
|
repeated int32 curr_award_slots = 10; //上次开奖结果
|
||||||
repeated FruitPlayerAwardInfo player_award_rank = 11;
|
int32 curr_target_slot = 11; // 上次开奖slot
|
||||||
|
repeated FruitPlayerAwardInfo player_award_rank = 12;
|
||||||
}
|
}
|
||||||
message CSFruitLeaveReq { //project game|fruit //RouteRule game
|
message CSFruitLeaveReq { //project game|fruit //RouteRule game
|
||||||
uint64 uid = 1;
|
uint64 uid = 1;
|
||||||
@ -3795,15 +3796,15 @@ message SCFruitLeaveAck { //project game|fruit //RouteRule game
|
|||||||
}
|
}
|
||||||
message CSFruitBetReq { //project game|fruit //RouteRule game
|
message CSFruitBetReq { //project game|fruit //RouteRule game
|
||||||
uint64 uid = 1;
|
uint64 uid = 1;
|
||||||
repeated FruitSlotBetInfo bet_info = 2;
|
repeated FruitSlotInfo bet_info = 2;
|
||||||
}
|
}
|
||||||
message SCFruitBetAck { //project game|fruit //RouteRule game
|
message SCFruitBetAck { //project game|fruit //RouteRule game
|
||||||
uint64 uid = 1;
|
uint64 uid = 1;
|
||||||
int32 error = 2;
|
int32 error = 2;
|
||||||
int32 my_chip_num = 3; //玩家筹码
|
int32 my_chip_num = 3; //玩家筹码
|
||||||
uint32 pool_chip_num = 4; //奖池
|
uint32 pool_chip_num = 4; //奖池
|
||||||
repeated FruitSlotBetInfo total_bet_info = 5; //总的押注信息
|
repeated FruitSlotInfo total_bet_info = 5; //总的押注信息
|
||||||
repeated FruitSlotBetInfo my_bet_info = 6; //当前玩家的押注信息
|
repeated FruitSlotInfo my_bet_info = 6; //当前玩家的押注信息
|
||||||
}
|
}
|
||||||
message SCFruitSettleNtf { //project game|fruit //RouteRule game
|
message SCFruitSettleNtf { //project game|fruit //RouteRule game
|
||||||
uint64 uid = 1;
|
uint64 uid = 1;
|
||||||
@ -3811,16 +3812,17 @@ message SCFruitSettleNtf { //project game|fruit //RouteRule game
|
|||||||
int32 award_type = 3;
|
int32 award_type = 3;
|
||||||
int32 award_chip_num = 4;
|
int32 award_chip_num = 4;
|
||||||
repeated int32 award_slots = 5;
|
repeated int32 award_slots = 5;
|
||||||
repeated int32 settle_history = 6; //开奖历史记录
|
repeated FruitSlotInfo award_chip_info = 6;
|
||||||
int32 start_slot = 7;
|
repeated int32 settle_history = 7; //开奖历史记录
|
||||||
int32 target_slot = 8;
|
int32 start_slot = 8;
|
||||||
repeated int32 award_items = 9;
|
int32 target_slot = 9;
|
||||||
|
repeated int32 award_items = 10; // 奖励游戏物品
|
||||||
}
|
}
|
||||||
message SCFruitSecTickNtf { //project game|fruit //RouteRule game
|
message SCFruitSecTickNtf { //project game|fruit //RouteRule game
|
||||||
uint64 uid = 1;
|
uint64 uid = 1;
|
||||||
int32 sec = 2;
|
int32 sec = 2;
|
||||||
uint32 pool_chip_num = 3;
|
uint32 pool_chip_num = 3;
|
||||||
repeated FruitSlotBetInfo total_bet_info = 4;
|
repeated FruitSlotInfo total_bet_info = 4;
|
||||||
}
|
}
|
||||||
message SCFruitPlayerAwardRankNtf { //project game|fruit //RouteRule game
|
message SCFruitPlayerAwardRankNtf { //project game|fruit //RouteRule game
|
||||||
uint64 uid = 1;
|
uint64 uid = 1;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -2031,9 +2031,9 @@ message LevelupSummonInfo{
|
|||||||
int32 exp = 3;
|
int32 exp = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message FruitSlotBetInfo {
|
message FruitSlotInfo {
|
||||||
int32 slot = 1;
|
int32 slot = 1;
|
||||||
int32 bet_num = 2;
|
int32 num = 2;
|
||||||
}
|
}
|
||||||
message FruitPlayerAwardInfo {
|
message FruitPlayerAwardInfo {
|
||||||
uint64 uid = 1;
|
uint64 uid = 1;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user