From 49b0c6cc00bf2b8654066f4de28c39251036e3bc Mon Sep 17 00:00:00 2001 From: kxdd <88655@163.com> Date: Tue, 13 Aug 2024 15:33:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E6=8A=93=E9=80=9A=E7=9F=A5=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/DB_GiftCard.dat | Bin 57 -> 57 bytes data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 5299 -> 5299 bytes gamerule/clawdoll/constants.go | 30 +++++++++++++++---- gamesrv/clawdoll/player_clawdoll.go | 2 +- gamesrv/clawdoll/scene_clawdoll.go | 2 +- gamesrv/clawdoll/scenepolicy_clawdoll.go | 36 +++++++++++++++++++++++ protocol/clawdoll/clawdoll.pb.go | 8 ++--- protocol/clawdoll/clawdoll.proto | 10 ++++--- 9 files changed, 72 insertions(+), 16 deletions(-) diff --git a/data/DB_GiftCard.dat b/data/DB_GiftCard.dat index 15600367ff42a73b75826e6378f02a3bde3a8661..96640b07f274cbbbda035ee3e52503c8356a73cb 100644 GIT binary patch delta 38 pcmcDtoFJjd$+57PP2j+^jZ8{x92eV|1-P_0AVMv+2JBXh3;@YB39kSE delta 38 pcmcDtoFJjd#&NNYS%6E4lVf2oo4|o-8=15?Aj}q919mG$1^~Z739kSE diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index 9d60e50768e4d0593912d1e8d1e4301c7adb3da3..ddbdc0089ad7d52d32fd9b49f8b652cfbc000798 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!+{O&1uR!UmQ2H8_z7C?5I5-yevI!h$vE|a^U;?YZ4VAwErEfy% zTWIRTIUweP#j)52vj^QAm^;As1NDLJQ{n`>qhakM7Oq$h7O+EL3SkDJI0U8;Ik1}#(+9I3#Xg|BVCJKm%L#Tz!`eqIT(KN1V26Mm2-E;G5bOXTAExmR)L}4- WaCsDLp%OdCBA`dVFmo}`76JfeB0Mz! diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 95a4c56dab6ed585319eb9356a5fbd5cf6678ac7..e5e5cb7cb8e0a7edfd0f1ab65b428863d457a5f7 100644 GIT binary patch delta 238 zcmdn2xmk0=d#1@H93qpMnKuctaV+X(6JYe>;8+Nx546~BKE@o#2o%29#w@@E6~3_4 zXR`*YIHMp$RYPZ$7epWHs%v&daWffp#+O&67pgMK-hZNHfVo?1dSy;E-Gt6C)#+1IJaM9kP=hc*Q4&@lBds!XY^MC*L!$ MgSa+-;6Ka)0H{ee@c;k- diff --git a/gamerule/clawdoll/constants.go b/gamerule/clawdoll/constants.go index 5f361d0..735ee60 100644 --- a/gamerule/clawdoll/constants.go +++ b/gamerule/clawdoll/constants.go @@ -12,14 +12,32 @@ const ( ) const ( - ClawDollSceneWaitTimeout = time.Second * 2 //等待倒计时 - ClawDollSceneStartTimeout = time.Second * 6 //开始倒计时 - ClawDollSceneBilledTimeout = time.Second * 2 //结算 + ClawDollSceneWaitTimeout = time.Second * 6 //等待倒计时 + ClawDollSceneStartTimeout = time.Second * 15 //开始倒计时 + ClawDollSceneBilledTimeout = time.Second * 2 //结算 ) // 玩家操作 const ( - ClawDollPlayerOpScore = iota + 1 // 上分 - ClawDollPlayerOpGo // 下抓 - ClawDollPlayerOpMove // 移动方向 + ClawDollPlayerOpPayCoin = iota + 1 // 上分 投币 + ClawDollPlayerOpGo // 下抓 + ClawDollPlayerOpMove // 玩家操控动作 // 1-前 2-后 3-左 4-右 +) + +const ( + ButtonFront = iota + 1 /*前*/ + ButtonBack /*后*/ + ButtonLeft /*左*/ + ButtonRight /*右*/ +) + +const ( + MoveStop = 0 /*移动停止*/ + MoveStar = 1 /*移动开始*/ +) + +const ( + ClawWeak = iota + 1 //弱力抓 + ClawStrong //强力抓 + ClawGain //必出抓 ) diff --git a/gamesrv/clawdoll/player_clawdoll.go b/gamesrv/clawdoll/player_clawdoll.go index e7559b3..bba7f72 100644 --- a/gamesrv/clawdoll/player_clawdoll.go +++ b/gamesrv/clawdoll/player_clawdoll.go @@ -31,7 +31,7 @@ func (this *PlayerEx) CanOp(sceneEx *SceneEx) bool { return true } -func (this *PlayerEx) CanPayCoinByPos() bool { +func (this *PlayerEx) CanPayCoin() bool { return false } diff --git a/gamesrv/clawdoll/scene_clawdoll.go b/gamesrv/clawdoll/scene_clawdoll.go index b663a30..994eb68 100644 --- a/gamesrv/clawdoll/scene_clawdoll.go +++ b/gamesrv/clawdoll/scene_clawdoll.go @@ -92,7 +92,7 @@ func (e *SceneEx) playerOpPack(snId int32, opcode int, opRetCode clawdoll.OpResu SnId: proto.Int32(snId), OpCode: proto.Int32(int32(opcode)), Params: params, - OpRetCode: clawdoll.OpResultCode_OPRC_Success, + OpRetCode: opRetCode, } proto.SetDefaults(pack) diff --git a/gamesrv/clawdoll/scenepolicy_clawdoll.go b/gamesrv/clawdoll/scenepolicy_clawdoll.go index 4b8ef1e..0ef2a83 100644 --- a/gamesrv/clawdoll/scenepolicy_clawdoll.go +++ b/gamesrv/clawdoll/scenepolicy_clawdoll.go @@ -3,6 +3,7 @@ package clawdoll import ( "mongo.games.com/game/gamesrv/action" "mongo.games.com/game/protocol/clawdoll" + "mongo.games.com/game/protocol/machine" "time" "mongo.games.com/goserver/core" @@ -444,6 +445,11 @@ func (this *StateStart) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, pa return true } + switch opcode { + case rule.ClawDollPlayerOpPayCoin: + + } + return false } @@ -503,6 +509,36 @@ func (this *PlayGame) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, para return true } + sceneEx, ok := s.ExtraData.(*SceneEx) + if !ok { + return false + } + playerEx, ok := p.ExtraData.(*PlayerEx) + if !ok { + return false + } + + switch opcode { + case rule.ClawDollPlayerOpPayCoin: + // 投币检测 + if !playerEx.CanPayCoin() { + return false + } + sceneEx.OnPlayerSCOp(p, opcode, clawdoll.OpResultCode_OPRC_Success, params) + + case rule.ClawDollPlayerOpGo: + + pack := &machine.SMDollMachineGrab{ + Snid: proto.Int32(playerEx.SnId), + Id: proto.Int32(int32(sceneEx.machineId)), + TypeId: proto.Int32(int32(1)), + } + + sceneEx.SendToMachine(int(machine.DollMachinePacketID_PACKET_SMDollMachineGrab), pack) + case rule.ClawDollPlayerOpMove: + + } + return false } diff --git a/protocol/clawdoll/clawdoll.pb.go b/protocol/clawdoll/clawdoll.pb.go index e395726..437be49 100644 --- a/protocol/clawdoll/clawdoll.pb.go +++ b/protocol/clawdoll/clawdoll.pb.go @@ -394,8 +394,8 @@ type CSCLAWDOLLOp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` - Params []int64 `protobuf:"varint,2,rep,packed,name=Params,proto3" json:"Params,omitempty"` + OpCode int32 `protobuf:"varint,1,opt,name=OpCode,proto3" json:"OpCode,omitempty"` //操作码 1:上分 投币 2:下抓 3:玩家操控动作 + Params []int64 `protobuf:"varint,2,rep,packed,name=Params,proto3" json:"Params,omitempty"` //操作参数 1:无 } func (x *CSCLAWDOLLOp) Reset() { @@ -522,8 +522,8 @@ type SCCLAWDOLLRoundGameBilled struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RoundId int32 `protobuf:"varint,1,opt,name=RoundId,proto3" json:"RoundId,omitempty"` //牌局ID - ClowResult int32 `protobuf:"varint,2,opt,name=ClowResult,proto3" json:"ClowResult,omitempty"` //抓取结果 + RoundId int32 `protobuf:"varint,1,opt,name=RoundId,proto3" json:"RoundId,omitempty"` //局ID + ClowResult int32 `protobuf:"varint,2,opt,name=ClowResult,proto3" json:"ClowResult,omitempty"` //抓取结果 0: 没有抓住, 1:抓住娃娃 Award int64 `protobuf:"varint,3,opt,name=Award,proto3" json:"Award,omitempty"` //获奖金额 Balance int64 `protobuf:"varint,4,opt,name=Balance,proto3" json:"Balance,omitempty"` //玩家余额 } diff --git a/protocol/clawdoll/clawdoll.proto b/protocol/clawdoll/clawdoll.proto index e7091b2..579ae56 100644 --- a/protocol/clawdoll/clawdoll.proto +++ b/protocol/clawdoll/clawdoll.proto @@ -56,8 +56,10 @@ message SCCLAWDOLLRoomInfo { //玩家操作 message CSCLAWDOLLOp { - int32 OpCode = 1; - repeated int64 Params = 2; + int32 OpCode = 1; //操作码 1:上分 投币 2:下抓 3:玩家操控动作 + repeated int64 Params = 2; //操作参数 1:无 + //操作参数 2:无 + //操作参数 3:Params[0] 1-前 2-后 3-左 4-右 } //玩家操作返回 @@ -70,8 +72,8 @@ message SCCLAWDOLLOp { //发送给客户端的数据 单局结算 message SCCLAWDOLLRoundGameBilled { - int32 RoundId = 1; //牌局ID - int32 ClowResult = 2; //抓取结果 + int32 RoundId = 1; //局ID + int32 ClowResult = 2; //抓取结果 0: 没有抓住, 1:抓住娃娃 int64 Award = 3; //获奖金额 int64 Balance = 4; //玩家余额 }