优化
This commit is contained in:
parent
41c5ad951a
commit
1ea7fb31bb
@ -50,14 +50,7 @@ func (this *Entertainment) Start() (err error) {
|
||||
if err = this.ModuleBase.Start(); err != nil {
|
||||
return
|
||||
}
|
||||
// var s1 comm.IUserSession
|
||||
// var s2 comm.IUserSession
|
||||
// this.gameMgr.CreateRoom(s1, s2)
|
||||
// this.xxl = new(MapData)
|
||||
// this.xxl.InitMap()
|
||||
// this.xxl.SwapGirde(1, 0)
|
||||
// this.xxl.CheckMap()
|
||||
// this.xxl.DropGirde()
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -28,6 +28,7 @@ type Room struct {
|
||||
power string // 谁的权限
|
||||
round int32 // 轮数
|
||||
operatetimer *timewheel.Task //操作倒计时定时器
|
||||
aiTimer *timewheel.Task //AI操作随机做个延时
|
||||
}
|
||||
|
||||
func (this *Room) operateTimeOut(task *timewheel.Task, args ...interface{}) {
|
||||
@ -55,7 +56,7 @@ func (this *Room) InitRoom(module *Entertainment, s1 comm.IUserSession, s2 comm.
|
||||
this.chessboard.InitMap() // 初始化棋盘
|
||||
|
||||
this.szSession = append(this.szSession, s1)
|
||||
if p2.Uid != "" { // 是否是机器人
|
||||
if p2.Uid != "999" { // 是否是机器人
|
||||
this.szSession = append(this.szSession, s2)
|
||||
}
|
||||
|
||||
@ -71,6 +72,47 @@ func (this *Room) InitRoom(module *Entertainment, s1 comm.IUserSession, s2 comm.
|
||||
}
|
||||
}
|
||||
|
||||
// AI 操作了
|
||||
func (this *Room) AiTimeOut(task *timewheel.Task, args ...interface{}) {
|
||||
var (
|
||||
curScore int32
|
||||
szMap []*pb.MapData
|
||||
)
|
||||
this.player2.Ps--
|
||||
if this.player2.Ps <= 0 { // 权限给下一个人
|
||||
this.power = this.player1.Uid
|
||||
this.round++
|
||||
}
|
||||
this.player1.Ps = MaxPs
|
||||
if this.aiTimer != nil {
|
||||
timewheel.Remove(this.aiTimer)
|
||||
}
|
||||
// 交换元素
|
||||
bSwap := this.chessboard.AiSwapGirde() // 交换格子
|
||||
if !bSwap {
|
||||
this.module.Errorf("AiSwapGirde fialed")
|
||||
}
|
||||
szMap = append(szMap, &pb.MapData{
|
||||
Data: this.chessboard.Plat,
|
||||
})
|
||||
if score, m := this.chessboard.CheckMap(); score > 0 {
|
||||
curScore += score
|
||||
szMap = append(szMap, m...)
|
||||
}
|
||||
this.player2.Score += curScore
|
||||
// 广播消息
|
||||
if err := this.SendMsgToSession(string(this.module.GetType()), "operatorrst", &pb.EntertainOperatorRstPush{
|
||||
Mpadata: szMap,
|
||||
Power: this.power,
|
||||
Score: curScore,
|
||||
Round: this.round,
|
||||
User1: this.player1,
|
||||
User2: this.player2,
|
||||
}, this.szSession...); err != nil {
|
||||
this.Errorln(err)
|
||||
}
|
||||
}
|
||||
|
||||
func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg proto.Message) (errdata *pb.ErrorData) {
|
||||
switch stype {
|
||||
case "opertor": // 操作消息
|
||||
@ -88,10 +130,20 @@ func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg pr
|
||||
this.player1.Ps--
|
||||
if this.player1.Ps <= 0 { // 权限给下一个人
|
||||
this.power = this.player2.Uid
|
||||
|
||||
if len(this.szSession) == 1 { // 校验2号玩家是不是AI
|
||||
// 起一个定时器
|
||||
if this.aiTimer != nil {
|
||||
timewheel.Remove(this.aiTimer)
|
||||
}
|
||||
this.operatetimer = timewheel.Add(time.Second*3, this.AiTimeOut)
|
||||
}
|
||||
this.round++
|
||||
}
|
||||
this.player2.Ps = MaxPs
|
||||
|
||||
} else if this.power == this.player2.Uid {
|
||||
|
||||
this.player2.Ps--
|
||||
if this.player2.Ps <= 0 { // 权限给下一个人
|
||||
this.power = this.player1.Uid
|
||||
@ -106,11 +158,11 @@ func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg pr
|
||||
szMap = append(szMap, &pb.MapData{
|
||||
Data: this.chessboard.Plat,
|
||||
})
|
||||
this.chessboard.CheckMap()
|
||||
if score, m := this.chessboard.DropGirde(); score > 0 {
|
||||
if score, m := this.chessboard.CheckMap(); score > 0 {
|
||||
curScore += score
|
||||
szMap = append(szMap, m...)
|
||||
}
|
||||
this.player2.Score += curScore
|
||||
// 开启新的定时器
|
||||
if this.operatetimer != nil {
|
||||
timewheel.Remove(this.operatetimer)
|
||||
@ -127,6 +179,8 @@ func (this *Room) ReceiveMessage(session comm.IUserSession, stype string, msg pr
|
||||
Power: this.power,
|
||||
Score: curScore,
|
||||
Round: this.round,
|
||||
User1: this.player1,
|
||||
User2: this.player2,
|
||||
}, this.szSession...); err != nil {
|
||||
this.Errorln(err)
|
||||
}
|
||||
@ -149,10 +203,10 @@ func (this *Room) Opertor(uid string, iType int32, old int32, new int32) (errdat
|
||||
func (this *Room) StartGame() (errdata *pb.ErrorData) {
|
||||
|
||||
if err := this.SendMsgToSession(string(this.module.GetType()), "startgame", &pb.EntertainStartGamePush{
|
||||
User1: this.player1,
|
||||
User2: this.player2,
|
||||
User1: this.player1,
|
||||
User2: this.player2,
|
||||
Mpadata: &pb.MapData{
|
||||
//Data: this.chessboard.Data,
|
||||
Data: this.chessboard.Plat,
|
||||
},
|
||||
Power: this.power,
|
||||
Round: this.round,
|
||||
@ -166,10 +220,10 @@ func (this *Room) StartGame() (errdata *pb.ErrorData) {
|
||||
func (this *Room) GameOver() (errdata *pb.ErrorData) {
|
||||
|
||||
this.SendMsgToSession(string(this.module.GetType()), "gameover", &pb.EntertainGameOverPush{
|
||||
User1: this.player1,
|
||||
User2: this.player2,
|
||||
User1: this.player1,
|
||||
User2: this.player2,
|
||||
Mpadata: &pb.MapData{
|
||||
//Data: this.chessboard.Data,
|
||||
Data: this.chessboard.Plat,
|
||||
},
|
||||
Power: "",
|
||||
Round: this.round,
|
||||
|
@ -80,17 +80,16 @@ func (this *MapData) SwapGirde(oldId, newId int32) bool {
|
||||
var (
|
||||
bSwap bool // 能否交换
|
||||
)
|
||||
if oldId+1 < Total && oldId+1 == newId ||
|
||||
oldId%Height > 0 && oldId%Height == newId ||
|
||||
oldId+Width < Total && oldId+Width == newId ||
|
||||
oldId-Width > 0 && oldId-Width == newId {
|
||||
// x = int32(i/Width), y = int32(i%Height)
|
||||
if (oldId%Height != Total-1 && oldId+1 == newId) ||
|
||||
(oldId%Height > 0 && oldId-1 == newId) ||
|
||||
(oldId+Width < Total && oldId+Width == newId) ||
|
||||
(oldId-Width > 0 && oldId-Width == newId) {
|
||||
bSwap = true
|
||||
|
||||
tmp := new(pb.GirdeData)
|
||||
*tmp = *this.Plat[newId]
|
||||
this.Plat[newId] = this.Plat[oldId]
|
||||
this.Plat[oldId] = tmp
|
||||
|
||||
}
|
||||
|
||||
this.Debugf()
|
||||
@ -99,11 +98,11 @@ func (this *MapData) SwapGirde(oldId, newId int32) bool {
|
||||
|
||||
func (this *MapData) SetMap() {
|
||||
sz2 := []int32{
|
||||
5, 1, 0, 5, 1, 5, 2,
|
||||
5, 1, 2, 5, 1, 5, 2,
|
||||
3, 1, 5, 4, 2, 4, 4,
|
||||
4, 4, 0, 1, 6, 4, 1,
|
||||
6, 3, 1, 1, 3, 6, 3,
|
||||
6, 3, 0, 1, 1, 6, 1,
|
||||
4, 4, 2, 1, 6, 4, 1,
|
||||
6, 3, 1, 4, 3, 6, 3,
|
||||
6, 3, 3, 1, 1, 6, 1,
|
||||
5, 6, 5, 5, 1, 3, 1,
|
||||
6, 5, 5, 1, 2, 1, 4,
|
||||
}
|
||||
@ -266,6 +265,7 @@ func (this *MapData) Check3X() (bEliminate bool, score int32) {
|
||||
bEliminate = true
|
||||
}
|
||||
}
|
||||
|
||||
if k+2*Width < Total {
|
||||
k1 := this.Plat[k].Color
|
||||
k2 := this.Plat[k+Width].Color
|
||||
@ -288,59 +288,33 @@ func (this *MapData) Check3X() (bEliminate bool, score int32) {
|
||||
return
|
||||
}
|
||||
|
||||
// func (this *MapData) CheckSwape(g1, g2 int32) (bEliminate bool) {
|
||||
|
||||
// for i := 0; i < Width; i++ {
|
||||
// for j := 0; j < Height; j++ {
|
||||
// key := int32(i*10 + j)
|
||||
// iType := this.GetKeyType(key)
|
||||
// if iType == 0 {
|
||||
// continue
|
||||
// }
|
||||
// if j+2 < Height {
|
||||
// k1 := int32((i+1)*10 + j)
|
||||
// k2 := int32((i+2)*10 + j)
|
||||
// i1 := this.Data[k1]
|
||||
// i2 := this.Data[k2]
|
||||
// if i1.Itype == i2.Itype && i1.Itype == iType {
|
||||
// if g1 == key || k1 == g1 || k2 == g1 ||
|
||||
// g2 == key || k1 == g2 || k2 == g2 {
|
||||
// return true
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if i+2 < Width {
|
||||
// k1 := int32(i*10 + j + 1)
|
||||
// k2 := int32(i*10 + j + 2)
|
||||
// i1 := this.Data[k1]
|
||||
// i2 := this.Data[k2]
|
||||
// if i1.Itype == i2.Itype && i1.Itype == iType {
|
||||
// if g1 == key || k1 == g1 || k2 == g1 ||
|
||||
// g2 == key || k1 == g2 || k2 == g2 {
|
||||
// return true
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// return
|
||||
// }
|
||||
|
||||
// 校验地图可消除的 判断各组上面2个和右边两个是否三个相等
|
||||
func (this *MapData) CheckMap() (score int32) {
|
||||
score = 0
|
||||
if bRet, s := this.Check5X(); !bRet {
|
||||
fmt.Printf("=====检测消除5x===========\n")
|
||||
score += s
|
||||
}
|
||||
if bRet, s := this.Check4X(); !bRet {
|
||||
fmt.Printf("=====检测消除4x===========\n")
|
||||
score += s
|
||||
}
|
||||
if bRet, s := this.Check3X(); !bRet {
|
||||
fmt.Printf("=====检测消除3x===========\n")
|
||||
score += s
|
||||
func (this *MapData) CheckMap() (score int32, szMap []*pb.MapData) {
|
||||
for {
|
||||
var curScore int32
|
||||
if bRet, s := this.Check5X(); !bRet {
|
||||
fmt.Printf("=====检测消除5x===========\n")
|
||||
curScore += s
|
||||
}
|
||||
if bRet, s := this.Check4X(); !bRet {
|
||||
fmt.Printf("=====检测消除4x===========\n")
|
||||
curScore += s
|
||||
}
|
||||
if bRet, s := this.Check3X(); !bRet {
|
||||
fmt.Printf("=====检测消除3x===========\n")
|
||||
curScore += s
|
||||
}
|
||||
score += curScore // 总分
|
||||
if curScore == 0 {
|
||||
break
|
||||
}
|
||||
//szMap = append(szMap, this.DropGirde()...)
|
||||
this.DropGirde()
|
||||
|
||||
szMap = append(szMap, &pb.MapData{
|
||||
Data: this.Plat,
|
||||
CurSocre: curScore,
|
||||
})
|
||||
}
|
||||
|
||||
//this.Debugf()
|
||||
@ -348,7 +322,7 @@ func (this *MapData) CheckMap() (score int32) {
|
||||
}
|
||||
|
||||
// 下落 生成新的格子 (返回掉落所获得的分数)
|
||||
func (this *MapData) DropGirde() (score int32, szMap []*pb.MapData) {
|
||||
func (this *MapData) DropGirde() {
|
||||
|
||||
for i := 0; i < Width; i++ {
|
||||
for j := 0; j < Height; j++ {
|
||||
@ -376,9 +350,28 @@ func (this *MapData) DropGirde() (score int32, szMap []*pb.MapData) {
|
||||
}
|
||||
}
|
||||
}
|
||||
szMap = append(szMap, &pb.MapData{
|
||||
Data: this.Plat,
|
||||
})
|
||||
|
||||
this.Debugf()
|
||||
return
|
||||
}
|
||||
func (this *MapData) AiSwapGirde() bool {
|
||||
var (
|
||||
bSwap bool // 能否交换
|
||||
)
|
||||
for pos := 0; pos < Total; pos++ {
|
||||
y := pos % Height
|
||||
if y < Height-1 {
|
||||
if this.SwapGirde(int32(pos), int32(pos+1)) {
|
||||
bSwap = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if pos/Width+1 < Width {
|
||||
if this.SwapGirde(int32(pos), int32(pos+1)) {
|
||||
bSwap = true
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return bSwap
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ func Test_Main(t *testing.T) {
|
||||
m.DropGirde()
|
||||
m.CheckMap()
|
||||
m.SwapGirde(1, 11)
|
||||
fmt.Printf("得分:%d\n", m.CheckMap())
|
||||
//fmt.Printf("得分:%d\n", m.CheckMap())
|
||||
m.DropGirde()
|
||||
flag.Parse()
|
||||
|
||||
|
@ -57,7 +57,7 @@ func (this *configureComp) getGameFastDataByType(itype int32) (conf map[int32]*c
|
||||
defer this.hlock.RUnlock()
|
||||
if itype == 1 {
|
||||
conf = this.tyep1
|
||||
} else if itype == 1 {
|
||||
} else if itype == 2 {
|
||||
conf = this.tyep2
|
||||
}
|
||||
if conf == nil {
|
||||
|
@ -140,14 +140,14 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (err
|
||||
|
||||
go this.module.AsynHandleSession(session.Clone(), func(session comm.IUserSession) {
|
||||
event.TriggerEvent(comm.EventUserLogin, session)
|
||||
this.module.ModuleFriend.ResetFriend(user.Uid)
|
||||
this.module.modelSign.UserSign(session)
|
||||
this.module.ModuleItems.InitItemBagData(session)
|
||||
this.module.ModuleHero.CheckPeachReward(session, user.Ctime)
|
||||
if len(tasks) > 0 {
|
||||
this.module.ModuleBuried.TriggerBuried(session.Clone(), tasks...)
|
||||
}
|
||||
if firstLogin {
|
||||
this.module.ModuleFriend.ResetFriend(user.Uid)
|
||||
this.module.modelSign.UserSign(session)
|
||||
this.module.ModuleHero.CheckPeachReward(session, user.Ctime)
|
||||
this.module.ModuleItems.InitItemBagData(session)
|
||||
this.module.ModulePrivilege.CheckDailyPrivilegeMail(session) // 检查月卡每日邮件奖励发放
|
||||
}
|
||||
})
|
||||
|
@ -26,7 +26,8 @@ type MapData struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Data []*GirdeData `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 地图数据
|
||||
Data []*GirdeData `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 地图数据
|
||||
CurSocre int32 `protobuf:"varint,2,opt,name=curSocre,proto3" json:"curSocre"` // 本轮得分
|
||||
}
|
||||
|
||||
func (x *MapData) Reset() {
|
||||
@ -68,6 +69,13 @@ func (x *MapData) GetData() []*GirdeData {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *MapData) GetCurSocre() int32 {
|
||||
if x != nil {
|
||||
return x.CurSocre
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 消消乐
|
||||
type GirdeData struct {
|
||||
state protoimpl.MessageState
|
||||
@ -231,26 +239,27 @@ var File_entertain_entertain_db_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_entertain_entertain_db_proto_rawDesc = []byte{
|
||||
0x0a, 0x1c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x74, 0x65,
|
||||
0x72, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x29,
|
||||
0x72, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45,
|
||||
0x0a, 0x07, 0x4d, 0x61, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x04, 0x64, 0x61, 0x74,
|
||||
0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x47, 0x69, 0x72, 0x64, 0x65, 0x44,
|
||||
0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x75, 0x0a, 0x09, 0x47, 0x69, 0x72,
|
||||
0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f,
|
||||
0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61,
|
||||
0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c,
|
||||
0x22, 0x70, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x70, 0x73,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61,
|
||||
0x72, 0x64, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64,
|
||||
0x69, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72,
|
||||
0x53, 0x6f, 0x63, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x75, 0x72,
|
||||
0x53, 0x6f, 0x63, 0x72, 0x65, 0x22, 0x75, 0x0a, 0x09, 0x47, 0x69, 0x72, 0x64, 0x65, 0x44, 0x61,
|
||||
0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x03, 0x6f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69,
|
||||
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f,
|
||||
0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x22, 0x70, 0x0a, 0x0a,
|
||||
0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x70, 0x73, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x02, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, 0x69, 0x64,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x69, 0x64, 0x42, 0x06,
|
||||
0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
@ -441,10 +441,12 @@ type EntertainOperatorRstPush struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Mpadata []*MapData `protobuf:"bytes,1,rep,name=mpadata,proto3" json:"mpadata"` // 地图数据
|
||||
Power string `protobuf:"bytes,2,opt,name=power,proto3" json:"power"` // 该谁操作了
|
||||
Score int32 `protobuf:"varint,3,opt,name=score,proto3" json:"score"` // 获得积分
|
||||
Round int32 `protobuf:"varint,4,opt,name=round,proto3" json:"round"` // 轮数
|
||||
Mpadata []*MapData `protobuf:"bytes,1,rep,name=mpadata,proto3" json:"mpadata"` // 地图数据
|
||||
Power string `protobuf:"bytes,2,opt,name=power,proto3" json:"power"` // 该谁操作了
|
||||
Score int32 `protobuf:"varint,3,opt,name=score,proto3" json:"score"` // 获得积分
|
||||
Round int32 `protobuf:"varint,4,opt,name=round,proto3" json:"round"` // 轮数
|
||||
User1 *PlayerData `protobuf:"bytes,5,opt,name=user1,proto3" json:"user1"` // 玩家数据也需要同步
|
||||
User2 *PlayerData `protobuf:"bytes,6,opt,name=user2,proto3" json:"user2"`
|
||||
}
|
||||
|
||||
func (x *EntertainOperatorRstPush) Reset() {
|
||||
@ -507,6 +509,20 @@ func (x *EntertainOperatorRstPush) GetRound() int32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *EntertainOperatorRstPush) GetUser1() *PlayerData {
|
||||
if x != nil {
|
||||
return x.User1
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *EntertainOperatorRstPush) GetUser2() *PlayerData {
|
||||
if x != nil {
|
||||
return x.User2
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 游戏结束推送
|
||||
type EntertainGameOverPush struct {
|
||||
state protoimpl.MessageState
|
||||
@ -632,7 +648,7 @@ var file_entertain_entertain_msg_proto_rawDesc = []byte{
|
||||
0x15, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
|
||||
0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
|
||||
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
|
||||
0x22, 0x80, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x70,
|
||||
0x22, 0xc6, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x4f, 0x70,
|
||||
0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x73, 0x74, 0x50, 0x75, 0x73, 0x68, 0x12, 0x22, 0x0a,
|
||||
0x07, 0x6d, 0x70, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x08,
|
||||
0x2e, 0x4d, 0x61, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x6d, 0x70, 0x61, 0x64, 0x61, 0x74,
|
||||
@ -640,19 +656,23 @@ var file_entertain_entertain_msg_proto_rawDesc = []byte{
|
||||
0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x6f,
|
||||
0x75, 0x6e, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69,
|
||||
0x6e, 0x47, 0x61, 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x21, 0x0a,
|
||||
0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50,
|
||||
0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x31,
|
||||
0x12, 0x21, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x0b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x75, 0x73,
|
||||
0x65, 0x72, 0x32, 0x12, 0x22, 0x0a, 0x07, 0x6d, 0x70, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x4d, 0x61, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07,
|
||||
0x6d, 0x70, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x6f,
|
||||
0x75, 0x6e, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
0x75, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52,
|
||||
0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x18,
|
||||
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61,
|
||||
0x74, 0x61, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x22, 0xad, 0x01, 0x0a, 0x15, 0x45, 0x6e,
|
||||
0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x47, 0x61, 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x50,
|
||||
0x75, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52,
|
||||
0x05, 0x75, 0x73, 0x65, 0x72, 0x31, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61,
|
||||
0x74, 0x61, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x32, 0x12, 0x22, 0x0a, 0x07, 0x6d, 0x70, 0x61,
|
||||
0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x4d, 0x61, 0x70,
|
||||
0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x6d, 0x70, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f,
|
||||
0x77, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x05, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
|
||||
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@ -687,14 +707,16 @@ var file_entertain_entertain_msg_proto_depIdxs = []int32{
|
||||
9, // 2: EntertainStartGamePush.user2:type_name -> PlayerData
|
||||
10, // 3: EntertainStartGamePush.mpadata:type_name -> MapData
|
||||
10, // 4: EntertainOperatorRstPush.mpadata:type_name -> MapData
|
||||
9, // 5: EntertainGameOverPush.user1:type_name -> PlayerData
|
||||
9, // 6: EntertainGameOverPush.user2:type_name -> PlayerData
|
||||
10, // 7: EntertainGameOverPush.mpadata:type_name -> MapData
|
||||
8, // [8:8] is the sub-list for method output_type
|
||||
8, // [8:8] is the sub-list for method input_type
|
||||
8, // [8:8] is the sub-list for extension type_name
|
||||
8, // [8:8] is the sub-list for extension extendee
|
||||
0, // [0:8] is the sub-list for field type_name
|
||||
9, // 5: EntertainOperatorRstPush.user1:type_name -> PlayerData
|
||||
9, // 6: EntertainOperatorRstPush.user2:type_name -> PlayerData
|
||||
9, // 7: EntertainGameOverPush.user1:type_name -> PlayerData
|
||||
9, // 8: EntertainGameOverPush.user2:type_name -> PlayerData
|
||||
10, // 9: EntertainGameOverPush.mpadata:type_name -> MapData
|
||||
10, // [10:10] is the sub-list for method output_type
|
||||
10, // [10:10] is the sub-list for method input_type
|
||||
10, // [10:10] is the sub-list for extension type_name
|
||||
10, // [10:10] is the sub-list for extension extendee
|
||||
0, // [0:10] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_entertain_entertain_msg_proto_init() }
|
||||
|
Loading…
Reference in New Issue
Block a user