diff --git a/modules/entertainment/api_getreward.go b/modules/entertainment/api_getreward.go index 0c5939e1c..8ce54a9f6 100644 --- a/modules/entertainment/api_getreward.go +++ b/modules/entertainment/api_getreward.go @@ -41,6 +41,7 @@ func (this *apiComp) Reward(session comm.IUserSession, req *pb.EntertainRewardRe Code: pb.ErrorCode_UserRepeadReward, Title: pb.ErrorCode_UserRepeadReward.ToString(), } + return } if _, ok := list.Reward[conf.Key]; !ok { if errdata, atno = this.module.DispenseAtno(session, conf.Rewards, true); errdata != nil { diff --git a/modules/entertainment/xxlPlat.go b/modules/entertainment/xxlPlat.go index 20512a6ea..f69a919da 100644 --- a/modules/entertainment/xxlPlat.go +++ b/modules/entertainment/xxlPlat.go @@ -114,11 +114,13 @@ func (this *MapData) Check5X() (bEliminate bool, xiaochu []int, s map[int]int) { k5 := this.Plat[k+4].Color if k1 == k2 && k3 == k4 && k5 == k1 && k2 == k3 { - s[k+2] = FiveType - - xiaochu = append(xiaochu, k+2) - xiaochu = append(xiaochu, []int{k, k + 1, k + 3, k + 4}...) + xiaochu = append(xiaochu, []int{k, k + 1, k + 2, k + 3, k + 4}...) + this.Plat[k].Cid = 0 + this.Plat[k+1].Cid = 0 + this.Plat[k+2].Cid = 0 + this.Plat[k+3].Cid = 0 + this.Plat[k+4].Cid = 0 bEliminate = true } } @@ -130,37 +132,18 @@ func (this *MapData) Check5X() (bEliminate bool, xiaochu []int, s map[int]int) { k5 := this.Plat[k+4*Width].Color if k1 == k2 && k3 == k4 && k5 == k1 && k2 == k3 { - - this.oid++ - this.Plat[k+2*Width] = &pb.GirdeData{ - Oid: this.oid, - Color: k1, - Cid: 1, - Score: 1, - Special: 1, - } - // 生成一个新的类型元素 - // if conf, err := this.module.configure.GetGameBlock(k1, FiveType); err == nil { - // this.Plat[k+2*Width] = &pb.GirdeData{ - // Oid: this.oid, - // Color: k1, - // Cid: conf.Key, - // Score: conf.Score, - // Special: conf.Type, - // } - // } else { - // xiaochu = append(xiaochu, k+2*Width) - // } - - xiaochu = append(xiaochu, []int{k, k + Width, k + 3*Width, k + 4*Width}...) - + s[k+2*Width] = FiveType + xiaochu = append(xiaochu, []int{k, k + Width, k + 2*Width, k + 3*Width, k + 4*Width}...) + this.Plat[k].Cid = 0 + this.Plat[k+Width].Cid = 0 + this.Plat[k+2*Width].Cid = 0 + this.Plat[k+3*Width].Cid = 0 + this.Plat[k+4*Width].Cid = 0 bEliminate = true } } } - for _, v := range xiaochu { - this.Plat[v].Cid = 0 - } + return } @@ -169,7 +152,7 @@ func (this *MapData) Check4X() (bEliminate bool, xiaochu []int, s map[int]int) { newElem int // 生成的一个新的元素CID ) s = make(map[int]int) - fmt.Printf("=====开始检测消除4x===========\n") + //var xiaochu []int // 即将消除的key for k, v := range this.Plat { if v.Cid == 0 { @@ -201,6 +184,9 @@ func (this *MapData) Check4X() (bEliminate bool, xiaochu []int, s map[int]int) { s[newElem] = FourUType xiaochu = append(xiaochu, []int{k, k + 1, k + 2, k + 3}...) + for _, v := range xiaochu { + this.Plat[v].Cid = 0 + } bEliminate = true } } @@ -229,15 +215,14 @@ func (this *MapData) Check4X() (bEliminate bool, xiaochu []int, s map[int]int) { s[newElem] = FourLType xiaochu = append(xiaochu, k+Width) xiaochu = append(xiaochu, []int{k, k + Width, k + 2*Width, k + 3*Width}...) - + for _, v := range xiaochu { + this.Plat[v].Cid = 0 + } bEliminate = true } } } - for _, v := range xiaochu { - this.Plat[v].Cid = 0 - } return } @@ -255,6 +240,9 @@ func (this *MapData) Check3X() (bEliminate bool, xiaochu []int) { k3 := this.Plat[k+2].Color if k1 == k2 && k2 == k3 { xiaochu = append(xiaochu, []int{k, k + 1, k + 2}...) + this.Plat[k].Cid = 0 + this.Plat[k+1].Cid = 0 + this.Plat[k+2].Cid = 0 bEliminate = true } } @@ -266,13 +254,14 @@ func (this *MapData) Check3X() (bEliminate bool, xiaochu []int) { if k1 == k2 && k2 == k3 { xiaochu = append(xiaochu, []int{k, k + Width, k + 2*Width}...) + this.Plat[k].Cid = 0 + this.Plat[k+Width].Cid = 0 + this.Plat[k+2*Width].Cid = 0 bEliminate = true } } } - for _, v := range xiaochu { - this.Plat[v].Cid = 0 - } + return }