This commit is contained in:
by 2024-08-13 14:13:06 +08:00
commit bf4ca7477c
6 changed files with 64 additions and 13 deletions

View File

@ -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 //必出抓
)

View File

@ -31,9 +31,9 @@ func (this *PlayerEx) CanOp(sceneEx *SceneEx) bool {
return true
}
func (this *PlayerEx) CanPayCoinByPos() bool {
func (this *PlayerEx) CanPayCoin() bool {
return false
return true
}
// 游戏新一局 设置数据

View File

@ -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)

View File

@ -3,6 +3,7 @@ package clawdoll
import (
"mongo.games.com/game/gamesrv/action"
"mongo.games.com/game/protocol/clawdoll"
"mongo.games.com/game/protocol/dollmachine"
"time"
"mongo.games.com/goserver/core"
@ -444,6 +445,10 @@ func (this *StateStart) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, pa
return true
}
switch opcode {
case rule.ClawDollPlayerOpPayCoin:
}
return false
}
@ -503,6 +508,34 @@ 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 := &dollmachine.SMDollMachineMove{
Snid: proto.Int32(playerEx.SnId),
Id: proto.Int32(int32(opcode)),
Direction: proto.Int32(int32(params[0])),
}
sceneEx.SendToMachine(int(dollmachine.DollMachinePacketID_PACKET_SMDollMachineMove), pack)
case rule.ClawDollPlayerOpMove:
}
return false
}

View File

@ -523,7 +523,7 @@ type SCCLAWDOLLRoundGameBilled struct {
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"` //抓取结果
ClowResult int32 `protobuf:"varint,2,opt,name=ClowResult,proto3" json:"ClowResult,omitempty"` //抓取结果 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"` //玩家余额
}
@ -594,7 +594,7 @@ type SCCLAWDOLLRoomState struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
State int32 `protobuf:"varint,1,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态
State int32 `protobuf:"varint,1,opt,name=State,proto3" json:"State,omitempty"` //房间当前状态 //1-空闲 2-无法使用
Params []float32 `protobuf:"fixed32,2,rep,packed,name=Params,proto3" json:"Params,omitempty"`
}

View File

@ -71,14 +71,14 @@ message SCCLAWDOLLOp {
//
message SCCLAWDOLLRoundGameBilled {
int32 RoundId = 1; //ID
int32 ClowResult = 2; //
int32 ClowResult = 2; // 1-
int64 Award = 3; //
int64 Balance = 4; //
}
//
message SCCLAWDOLLRoomState {
int32 State = 1; //
int32 State = 1; // //1- 2-使
repeated float Params = 2;
}