Documentation ¶
Index ¶
- Variables
- func Post(callback func())
- func Start(totalCount int)
- type AfterDieGiveCard
- type BaseCard
- type BasePlayer
- func (p *BasePlayer) AddCards(cards ...ICard)
- func (p *BasePlayer) AddMessageCards(cards ...ICard)
- func (p *BasePlayer) AddSkillUseCount(skillId SkillId)
- func (p *BasePlayer) CheckThreeSameMessageCard(colors ...protos.Color) bool
- func (p *BasePlayer) DeleteAllCards() []ICard
- func (p *BasePlayer) DeleteAllMessageCards() []ICard
- func (p *BasePlayer) DeleteCard(cardId uint32)
- func (p *BasePlayer) DeleteMessageCard(cardId uint32)
- func (p *BasePlayer) Draw(count int)
- func (p *BasePlayer) FindCard(cardId uint32) ICard
- func (p *BasePlayer) FindMessageCard(cardId uint32) ICard
- func (p *BasePlayer) FindSkill(skillId SkillId) ISkill
- func (p *BasePlayer) GetAbstractLocation(location int) int
- func (p *BasePlayer) GetAlternativeLocation(location int) uint32
- func (p *BasePlayer) GetCards() map[uint32]ICard
- func (p *BasePlayer) GetGame() *Game
- func (p *BasePlayer) GetIdentity() (protos.Color, protos.SecretTask)
- func (p *BasePlayer) GetMessageCards() map[uint32]ICard
- func (p *BasePlayer) GetRole() protos.Role
- func (p *BasePlayer) GetSkillUseCount(skillId SkillId) int
- func (p *BasePlayer) GetSkills() []ISkill
- func (p *BasePlayer) HasNoIdentity() bool
- func (p *BasePlayer) IncrSeq()
- func (p *BasePlayer) Init(game *Game, location int, identity protos.Color, secretTask protos.SecretTask, ...)
- func (p *BasePlayer) IsAlive() bool
- func (p *BasePlayer) IsLose() bool
- func (p *BasePlayer) IsRoleFaceUp() bool
- func (p *BasePlayer) Location() int
- func (p *BasePlayer) NotifyAddHandCard(int, int, ...ICard)
- func (p *BasePlayer) ResetSkillUseCount()
- func (p *BasePlayer) SetAlive(alive bool)
- func (p *BasePlayer) SetHasNoIdentity(hasNoIdentity bool)
- func (p *BasePlayer) SetIdentity(identity protos.Color, secretTask protos.SecretTask)
- func (p *BasePlayer) SetLose(lose bool)
- func (p *BasePlayer) SetSkills(skills []ISkill)
- type CheckKillerWin
- type CheckWinOrDie
- type CurrentCard
- type Deck
- type DieSkill
- type DieSkillNext
- type DrawPhase
- type FightPhaseIdle
- type FightPhaseNext
- type Fsm
- type Game
- func (game *Game) AddListeningSkill(skill ISkill)
- func (game *Game) ContinueResolve()
- func (game *Game) DealListeningSkills() (nextFsm Fsm, continueResolve bool, ok bool)
- func (game *Game) GetDeck() *Deck
- func (game *Game) GetFsm() Fsm
- func (game *Game) GetPlayers() []IPlayer
- func (game *Game) PlayerDiscardCard(player IPlayer, cards ...ICard)
- func (game *Game) Resolve(fsm Fsm)
- func (game *Game) TryContinueResolveProtocol(player IPlayer, pb proto.Message)
- type HumanPlayer
- func (r *HumanPlayer) IncrSeq()
- func (r *HumanPlayer) Init(game *Game, location int, identity protos.Color, secretTask protos.SecretTask, ...)
- func (r *HumanPlayer) NotifyAddHandCard(location int, unknownCount int, cards ...ICard)
- func (r *HumanPlayer) NotifyAskForChengQing(whoDie IPlayer, askWhom IPlayer)
- func (r *HumanPlayer) NotifyChooseReceiveCard(player IPlayer)
- func (r *HumanPlayer) NotifyDie(location int, loseGame bool)
- func (r *HumanPlayer) NotifyDrawPhase(player IPlayer)
- func (r *HumanPlayer) NotifyFightPhase(whoseTurn, inFrontOfWhom, whoseFightTurn IPlayer, messageCard ICard, ...)
- func (r *HumanPlayer) NotifyMainPhase(player IPlayer, waitSecond uint32)
- func (r *HumanPlayer) NotifyReceivePhase(whoseTurn, inFrontOfWhom IPlayer, messageCard ICard)
- func (r *HumanPlayer) NotifyReceivePhaseWithWaiting(whoseTurn, inFrontOfWhom IPlayer, messageCard ICard, waitingPlayer IPlayer, ...)
- func (r *HumanPlayer) NotifySendMessageCard(player, targetPlayer IPlayer, lockedPlayers []IPlayer, messageCard ICard, ...)
- func (r *HumanPlayer) NotifySendPhase(whoseTurn, inFrontOfWhom IPlayer, lockedPlayers []IPlayer, messageCard ICard, ...)
- func (r *HumanPlayer) NotifySendPhaseStart(player IPlayer, waitSecond uint32)
- func (r *HumanPlayer) NotifyWin(declareWinner []IPlayer, winner []IPlayer)
- func (r *HumanPlayer) String() string
- func (r *HumanPlayer) WaitForDieGiveCard(whoDie IPlayer)
- type ICard
- type IPlayer
- type ISkill
- type IdlePlayer
- func (p *IdlePlayer) NotifyAskForChengQing(IPlayer, IPlayer)
- func (p *IdlePlayer) NotifyChooseReceiveCard(IPlayer)
- func (p *IdlePlayer) NotifyDie(int, bool)
- func (p *IdlePlayer) NotifyDrawPhase(IPlayer)
- func (p *IdlePlayer) NotifyFightPhase(IPlayer, IPlayer, IPlayer, ICard, bool, uint32)
- func (p *IdlePlayer) NotifyMainPhase(IPlayer, uint32)
- func (p *IdlePlayer) NotifyReceivePhase(IPlayer, IPlayer, ICard)
- func (p *IdlePlayer) NotifyReceivePhaseWithWaiting(IPlayer, IPlayer, ICard, IPlayer, uint32)
- func (p *IdlePlayer) NotifySendMessageCard(IPlayer, IPlayer, []IPlayer, ICard, protos.Direction)
- func (p *IdlePlayer) NotifySendPhase(IPlayer, IPlayer, []IPlayer, ICard, protos.Direction, bool, uint32)
- func (p *IdlePlayer) NotifySendPhaseStart(IPlayer, uint32)
- func (p *IdlePlayer) NotifyWin([]IPlayer, []IPlayer)
- func (p *IdlePlayer) String() string
- func (p *IdlePlayer) WaitForDieGiveCard(IPlayer)
- type MainPhaseIdle
- type MessageMoveNext
- type NextTurn
- type OnChooseReceiveCard
- type OnSendCard
- type OnUseCard
- type OnUseCardNext
- type ReceivePhase
- type ReceivePhaseReceiverSkill
- type ReceivePhaseSenderSkill
- type RobotPlayer
- func (r *RobotPlayer) NotifyAskForChengQing(_ IPlayer, askWhom IPlayer)
- func (r *RobotPlayer) NotifyChooseReceiveCard(IPlayer)
- func (r *RobotPlayer) NotifyDie(location int, _ bool)
- func (r *RobotPlayer) NotifyDrawPhase(IPlayer)
- func (r *RobotPlayer) NotifyFightPhase(_, _, whoseFightTurn IPlayer, _ ICard, _ bool, _ uint32)
- func (r *RobotPlayer) NotifyMainPhase(player IPlayer, _ uint32)
- func (r *RobotPlayer) NotifyReceivePhase(IPlayer, IPlayer, ICard)
- func (r *RobotPlayer) NotifyReceivePhaseWithWaiting(_, _ IPlayer, _ ICard, waitingPlayer IPlayer, _ uint32)
- func (r *RobotPlayer) NotifySendMessageCard(IPlayer, IPlayer, []IPlayer, ICard, protos.Direction)
- func (r *RobotPlayer) NotifySendPhase(whoseTurn, inFrontOfWhom IPlayer, lockedPlayers []IPlayer, messageCard ICard, ...)
- func (r *RobotPlayer) NotifySendPhaseStart(IPlayer, uint32)
- func (r *RobotPlayer) NotifyWin([]IPlayer, []IPlayer)
- func (r *RobotPlayer) String() string
- func (r *RobotPlayer) WaitForDieGiveCard(whoDie IPlayer)
- type RoleSkillsData
- type SendPhaseIdle
- type SendPhaseStart
- type SkillId
- type StartWaitForChengQing
- type UseChengQingOnDying
- type WaitForChengQing
- type WaitForDieGiveCard
- type WaitNextForChengQing
- type WaitingFsm
Constants ¶
This section is empty.
Variables ¶
View Source
var AIFightPhase = make(map[protos.CardType]func(e *FightPhaseIdle, card ICard) bool)
View Source
var AIMainPhase = make(map[protos.CardType]func(e *MainPhaseIdle, card ICard) bool)
View Source
var AISendPhase = make(map[protos.CardType]func(e *SendPhaseIdle, card ICard) bool)
View Source
var AISkillMainPhase = make(map[SkillId]func(e *MainPhaseIdle, skill ISkill) bool)
View Source
var Cache = make(map[uint32]*Game)
View Source
var DefaultDeck []ICard
View Source
var RoleCache []*RoleSkillsData
Functions ¶
Types ¶
type AfterDieGiveCard ¶
type AfterDieGiveCard struct {
DieGiveCard *WaitForDieGiveCard
}
func (*AfterDieGiveCard) Resolve ¶
func (dg *AfterDieGiveCard) Resolve() (next Fsm, continueResolve bool)
type BaseCard ¶
func (*BaseCard) GetDirection ¶
type BasePlayer ¶
type BasePlayer struct {
// contains filtered or unexported fields
}
func (*BasePlayer) AddCards ¶
func (p *BasePlayer) AddCards(cards ...ICard)
func (*BasePlayer) AddMessageCards ¶
func (p *BasePlayer) AddMessageCards(cards ...ICard)
func (*BasePlayer) AddSkillUseCount ¶
func (p *BasePlayer) AddSkillUseCount(skillId SkillId)
func (*BasePlayer) CheckThreeSameMessageCard ¶
func (p *BasePlayer) CheckThreeSameMessageCard(colors ...protos.Color) bool
func (*BasePlayer) DeleteAllCards ¶
func (p *BasePlayer) DeleteAllCards() []ICard
func (*BasePlayer) DeleteAllMessageCards ¶
func (p *BasePlayer) DeleteAllMessageCards() []ICard
func (*BasePlayer) DeleteCard ¶
func (p *BasePlayer) DeleteCard(cardId uint32)
func (*BasePlayer) DeleteMessageCard ¶
func (p *BasePlayer) DeleteMessageCard(cardId uint32)
func (*BasePlayer) Draw ¶
func (p *BasePlayer) Draw(count int)
func (*BasePlayer) FindCard ¶
func (p *BasePlayer) FindCard(cardId uint32) ICard
func (*BasePlayer) FindMessageCard ¶
func (p *BasePlayer) FindMessageCard(cardId uint32) ICard
func (*BasePlayer) FindSkill ¶
func (p *BasePlayer) FindSkill(skillId SkillId) ISkill
func (*BasePlayer) GetAbstractLocation ¶
func (p *BasePlayer) GetAbstractLocation(location int) int
func (*BasePlayer) GetAlternativeLocation ¶
func (p *BasePlayer) GetAlternativeLocation(location int) uint32
func (*BasePlayer) GetCards ¶
func (p *BasePlayer) GetCards() map[uint32]ICard
func (*BasePlayer) GetGame ¶
func (p *BasePlayer) GetGame() *Game
func (*BasePlayer) GetIdentity ¶
func (p *BasePlayer) GetIdentity() (protos.Color, protos.SecretTask)
func (*BasePlayer) GetMessageCards ¶
func (p *BasePlayer) GetMessageCards() map[uint32]ICard
func (*BasePlayer) GetRole ¶
func (p *BasePlayer) GetRole() protos.Role
func (*BasePlayer) GetSkillUseCount ¶
func (p *BasePlayer) GetSkillUseCount(skillId SkillId) int
func (*BasePlayer) GetSkills ¶
func (p *BasePlayer) GetSkills() []ISkill
func (*BasePlayer) HasNoIdentity ¶
func (p *BasePlayer) HasNoIdentity() bool
func (*BasePlayer) IncrSeq ¶
func (p *BasePlayer) IncrSeq()
func (*BasePlayer) Init ¶
func (p *BasePlayer) Init(game *Game, location int, identity protos.Color, secretTask protos.SecretTask, roleSkillsData *RoleSkillsData)
func (*BasePlayer) IsAlive ¶
func (p *BasePlayer) IsAlive() bool
func (*BasePlayer) IsLose ¶
func (p *BasePlayer) IsLose() bool
func (*BasePlayer) IsRoleFaceUp ¶
func (p *BasePlayer) IsRoleFaceUp() bool
func (*BasePlayer) Location ¶
func (p *BasePlayer) Location() int
func (*BasePlayer) NotifyAddHandCard ¶
func (p *BasePlayer) NotifyAddHandCard(int, int, ...ICard)
func (*BasePlayer) ResetSkillUseCount ¶
func (p *BasePlayer) ResetSkillUseCount()
func (*BasePlayer) SetAlive ¶
func (p *BasePlayer) SetAlive(alive bool)
func (*BasePlayer) SetHasNoIdentity ¶
func (p *BasePlayer) SetHasNoIdentity(hasNoIdentity bool)
func (*BasePlayer) SetIdentity ¶
func (p *BasePlayer) SetIdentity(identity protos.Color, secretTask protos.SecretTask)
func (*BasePlayer) SetLose ¶
func (p *BasePlayer) SetLose(lose bool)
func (*BasePlayer) SetSkills ¶
func (p *BasePlayer) SetSkills(skills []ISkill)
type CheckKillerWin ¶
CheckKillerWin 判断镇压者获胜条件,或者只剩一个人存活
func (*CheckKillerWin) Resolve ¶
func (ck *CheckKillerWin) Resolve() (next Fsm, continueResolve bool)
type CheckWinOrDie ¶
CheckWinOrDie 判断是否胜利或者有人濒死
func (*CheckWinOrDie) Resolve ¶
func (cw *CheckWinOrDie) Resolve() (next Fsm, continueResolve bool)
type CurrentCard ¶
type Deck ¶
type Deck struct {
// contains filtered or unexported fields
}
func (*Deck) GetDeckCount ¶
type DieSkill ¶
type DieSkill struct { WhoseTurn IPlayer DiedIndex int DiedQueue []IPlayer AskWhom IPlayer ReceiveOrder []IPlayer AfterDieResolve Fsm }
DieSkill 死亡角色发动技能
type DieSkillNext ¶
type DieSkillNext struct {
DieSkill *DieSkill
}
func (*DieSkillNext) Resolve ¶
func (ds *DieSkillNext) Resolve() (next Fsm, continueResolve bool)
type FightPhaseIdle ¶
type FightPhaseIdle struct { WhoseTurn IPlayer MessageCard ICard InFrontOfWhom IPlayer WhoseFightTurn IPlayer IsMessageCardFaceUp bool }
FightPhaseIdle 争夺阶段空闲时点
func (*FightPhaseIdle) Resolve ¶
func (fp *FightPhaseIdle) Resolve() (next Fsm, continueResolve bool)
type FightPhaseNext ¶
type FightPhaseNext struct {
FightPhase *FightPhaseIdle
}
FightPhaseNext 争夺阶段即将询问下一个人时
func (*FightPhaseNext) Resolve ¶
func (fp *FightPhaseNext) Resolve() (next Fsm, continueResolve bool)
type Game ¶
type Game struct { Id uint32 Players []IPlayer Deck *Deck // contains filtered or unexported fields }
func (*Game) AddListeningSkill ¶
func (*Game) ContinueResolve ¶
func (game *Game) ContinueResolve()
func (*Game) DealListeningSkills ¶
func (*Game) GetPlayers ¶
func (*Game) PlayerDiscardCard ¶
type HumanPlayer ¶
type HumanPlayer struct { BasePlayer cellnet.Session Seq uint32 Timer *time.Timer // contains filtered or unexported fields }
func (*HumanPlayer) IncrSeq ¶
func (r *HumanPlayer) IncrSeq()
func (*HumanPlayer) Init ¶
func (r *HumanPlayer) Init(game *Game, location int, identity protos.Color, secretTask protos.SecretTask, roleSkillsData *RoleSkillsData)
func (*HumanPlayer) NotifyAddHandCard ¶
func (r *HumanPlayer) NotifyAddHandCard(location int, unknownCount int, cards ...ICard)
func (*HumanPlayer) NotifyAskForChengQing ¶
func (r *HumanPlayer) NotifyAskForChengQing(whoDie IPlayer, askWhom IPlayer)
func (*HumanPlayer) NotifyChooseReceiveCard ¶
func (r *HumanPlayer) NotifyChooseReceiveCard(player IPlayer)
func (*HumanPlayer) NotifyDie ¶
func (r *HumanPlayer) NotifyDie(location int, loseGame bool)
func (*HumanPlayer) NotifyDrawPhase ¶
func (r *HumanPlayer) NotifyDrawPhase(player IPlayer)
func (*HumanPlayer) NotifyFightPhase ¶
func (r *HumanPlayer) NotifyFightPhase(whoseTurn, inFrontOfWhom, whoseFightTurn IPlayer, messageCard ICard, isMessageFaceUp bool, waitSecond uint32)
func (*HumanPlayer) NotifyMainPhase ¶
func (r *HumanPlayer) NotifyMainPhase(player IPlayer, waitSecond uint32)
func (*HumanPlayer) NotifyReceivePhase ¶
func (r *HumanPlayer) NotifyReceivePhase(whoseTurn, inFrontOfWhom IPlayer, messageCard ICard)
func (*HumanPlayer) NotifyReceivePhaseWithWaiting ¶
func (r *HumanPlayer) NotifyReceivePhaseWithWaiting(whoseTurn, inFrontOfWhom IPlayer, messageCard ICard, waitingPlayer IPlayer, waitSecond uint32)
func (*HumanPlayer) NotifySendMessageCard ¶
func (*HumanPlayer) NotifySendPhase ¶
func (*HumanPlayer) NotifySendPhaseStart ¶
func (r *HumanPlayer) NotifySendPhaseStart(player IPlayer, waitSecond uint32)
func (*HumanPlayer) NotifyWin ¶
func (r *HumanPlayer) NotifyWin(declareWinner []IPlayer, winner []IPlayer)
func (*HumanPlayer) String ¶
func (r *HumanPlayer) String() string
func (*HumanPlayer) WaitForDieGiveCard ¶
func (r *HumanPlayer) WaitForDieGiveCard(whoDie IPlayer)
type IPlayer ¶
type IPlayer interface { Init(game *Game, location int, identity protos.Color, secretTask protos.SecretTask, roleSkillsData *RoleSkillsData) IncrSeq() GetGame() *Game Location() int GetAbstractLocation(location int) int GetAlternativeLocation(location int) uint32 NotifyAddHandCard(location int, unknownCount int, cards ...ICard) Draw(count int) AddCards(cards ...ICard) GetCards() map[uint32]ICard FindCard(cardId uint32) ICard DeleteCard(card uint32) DeleteAllCards() []ICard AddMessageCards(cards ...ICard) GetMessageCards() map[uint32]ICard FindMessageCard(cardId uint32) ICard DeleteMessageCard(cardId uint32) DeleteAllMessageCards() []ICard CheckThreeSameMessageCard(colors ...protos.Color) bool NotifyDrawPhase(player IPlayer) NotifyMainPhase(player IPlayer, waitSecond uint32) NotifySendPhaseStart(player IPlayer, waitSecond uint32) NotifySendMessageCard(player, targetPlayer IPlayer, lockedPlayers []IPlayer, messageCard ICard, dir protos.Direction) NotifySendPhase(whoseTurn, inFrontOfWhom IPlayer, lockedPlayers []IPlayer, messageCard ICard, dir protos.Direction, isMessageFaceUp bool, waitSecond uint32) NotifyChooseReceiveCard(player IPlayer) NotifyFightPhase(whoseTurn, inFrontOfWhom, whoseFightTurn IPlayer, messageCard ICard, isMessageFaceUp bool, waitSecond uint32) NotifyReceivePhase(whoseTurn, inFrontOfWhom IPlayer, messageCard ICard) NotifyReceivePhaseWithWaiting(whoseTurn, inFrontOfWhom IPlayer, messageCard ICard, waitingPlayer IPlayer, waitSecond uint32) NotifyDie(location int, loseGame bool) NotifyWin(declareWinner []IPlayer, winner []IPlayer) NotifyAskForChengQing(whoDie IPlayer, askWhom IPlayer) WaitForDieGiveCard(whoDie IPlayer) SetAlive(alive bool) IsAlive() bool SetLose(lose bool) IsLose() bool SetHasNoIdentity(hasNoIdentity bool) HasNoIdentity() bool SetIdentity(identity protos.Color, secretTask protos.SecretTask) GetIdentity() (protos.Color, protos.SecretTask) SetSkills(skills []ISkill) GetSkills() []ISkill FindSkill(skillId SkillId) ISkill GetRole() protos.Role IsRoleFaceUp() bool AddSkillUseCount(skillId SkillId) GetSkillUseCount(skillId SkillId) int ResetSkillUseCount() String() string }
type IdlePlayer ¶
type IdlePlayer struct {
BasePlayer
}
func (*IdlePlayer) NotifyAskForChengQing ¶
func (p *IdlePlayer) NotifyAskForChengQing(IPlayer, IPlayer)
func (*IdlePlayer) NotifyChooseReceiveCard ¶
func (p *IdlePlayer) NotifyChooseReceiveCard(IPlayer)
func (*IdlePlayer) NotifyDie ¶
func (p *IdlePlayer) NotifyDie(int, bool)
func (*IdlePlayer) NotifyDrawPhase ¶
func (p *IdlePlayer) NotifyDrawPhase(IPlayer)
func (*IdlePlayer) NotifyFightPhase ¶
func (*IdlePlayer) NotifyMainPhase ¶
func (p *IdlePlayer) NotifyMainPhase(IPlayer, uint32)
func (*IdlePlayer) NotifyReceivePhase ¶
func (p *IdlePlayer) NotifyReceivePhase(IPlayer, IPlayer, ICard)
func (*IdlePlayer) NotifyReceivePhaseWithWaiting ¶
func (*IdlePlayer) NotifySendMessageCard ¶
func (*IdlePlayer) NotifySendPhase ¶
func (*IdlePlayer) NotifySendPhaseStart ¶
func (p *IdlePlayer) NotifySendPhaseStart(IPlayer, uint32)
func (*IdlePlayer) NotifyWin ¶
func (p *IdlePlayer) NotifyWin([]IPlayer, []IPlayer)
func (*IdlePlayer) String ¶
func (p *IdlePlayer) String() string
func (*IdlePlayer) WaitForDieGiveCard ¶
func (p *IdlePlayer) WaitForDieGiveCard(IPlayer)
type MainPhaseIdle ¶
type MainPhaseIdle struct {
Player IPlayer
}
MainPhaseIdle 出牌阶段空闲时点
func (*MainPhaseIdle) Resolve ¶
func (mp *MainPhaseIdle) Resolve() (next Fsm, continueResolve bool)
type MessageMoveNext ¶
type MessageMoveNext struct {
SendPhase *SendPhaseIdle
}
MessageMoveNext 情报传递阶段,情报移到下一个人
func (*MessageMoveNext) Resolve ¶
func (mm *MessageMoveNext) Resolve() (next Fsm, continueResolve bool)
type NextTurn ¶
type NextTurn struct {
// contains filtered or unexported fields
}
NextTurn 即将跳转到下一回合时
type OnChooseReceiveCard ¶
type OnChooseReceiveCard struct { WhoseTurn IPlayer MessageCard ICard InFrontOfWhom IPlayer IsMessageCardFaceUp bool }
OnChooseReceiveCard 选择接收情报时
func (*OnChooseReceiveCard) Resolve ¶
func (cr *OnChooseReceiveCard) Resolve() (next Fsm, continueResolve bool)
type OnSendCard ¶
type OnSendCard struct { WhoseTurn IPlayer MessageCard ICard Dir protos.Direction TargetPlayer IPlayer LockedPlayers []IPlayer }
OnSendCard 选择了将要传递一张情报时
func (*OnSendCard) Resolve ¶
func (sc *OnSendCard) Resolve() (next Fsm, continueResolve bool)
type OnUseCard ¶
type OnUseCardNext ¶
type OnUseCardNext struct {
OnUseCard *OnUseCard
}
func (*OnUseCardNext) Resolve ¶
func (uc *OnUseCardNext) Resolve() (next Fsm, continueResolve bool)
type ReceivePhase ¶
ReceivePhase 情报接收阶段
func (*ReceivePhase) Resolve ¶
func (rp *ReceivePhase) Resolve() (next Fsm, continueResolve bool)
type ReceivePhaseReceiverSkill ¶
type ReceivePhaseReceiverSkill struct { WhoseTurn IPlayer MessageCard ICard ReceiveOrder []IPlayer InFrontOfWhom IPlayer }
ReceivePhaseReceiverSkill 接收情报时,接收者的技能
func (*ReceivePhaseReceiverSkill) Resolve ¶
func (rp *ReceivePhaseReceiverSkill) Resolve() (next Fsm, continueResolve bool)
type ReceivePhaseSenderSkill ¶
type ReceivePhaseSenderSkill struct { WhoseTurn IPlayer MessageCard ICard ReceiveOrder []IPlayer InFrontOfWhom IPlayer }
ReceivePhaseSenderSkill 接收情报时,传出者的技能
func (*ReceivePhaseSenderSkill) Resolve ¶
func (rp *ReceivePhaseSenderSkill) Resolve() (next Fsm, continueResolve bool)
type RobotPlayer ¶
type RobotPlayer struct {
BasePlayer
}
func (*RobotPlayer) NotifyAskForChengQing ¶
func (r *RobotPlayer) NotifyAskForChengQing(_ IPlayer, askWhom IPlayer)
func (*RobotPlayer) NotifyChooseReceiveCard ¶
func (r *RobotPlayer) NotifyChooseReceiveCard(IPlayer)
func (*RobotPlayer) NotifyDie ¶
func (r *RobotPlayer) NotifyDie(location int, _ bool)
func (*RobotPlayer) NotifyDrawPhase ¶
func (r *RobotPlayer) NotifyDrawPhase(IPlayer)
func (*RobotPlayer) NotifyFightPhase ¶
func (r *RobotPlayer) NotifyFightPhase(_, _, whoseFightTurn IPlayer, _ ICard, _ bool, _ uint32)
func (*RobotPlayer) NotifyMainPhase ¶
func (r *RobotPlayer) NotifyMainPhase(player IPlayer, _ uint32)
func (*RobotPlayer) NotifyReceivePhase ¶
func (r *RobotPlayer) NotifyReceivePhase(IPlayer, IPlayer, ICard)
func (*RobotPlayer) NotifyReceivePhaseWithWaiting ¶
func (r *RobotPlayer) NotifyReceivePhaseWithWaiting(_, _ IPlayer, _ ICard, waitingPlayer IPlayer, _ uint32)
func (*RobotPlayer) NotifySendMessageCard ¶
func (*RobotPlayer) NotifySendPhase ¶
func (*RobotPlayer) NotifySendPhaseStart ¶
func (r *RobotPlayer) NotifySendPhaseStart(IPlayer, uint32)
func (*RobotPlayer) NotifyWin ¶
func (r *RobotPlayer) NotifyWin([]IPlayer, []IPlayer)
func (*RobotPlayer) String ¶
func (r *RobotPlayer) String() string
func (*RobotPlayer) WaitForDieGiveCard ¶
func (r *RobotPlayer) WaitForDieGiveCard(whoDie IPlayer)
type RoleSkillsData ¶
type SendPhaseIdle ¶
type SendPhaseIdle struct { WhoseTurn IPlayer MessageCard ICard Dir protos.Direction InFrontOfWhom IPlayer LockedPlayers []IPlayer IsMessageCardFaceUp bool }
SendPhaseIdle 情报传递阶段空闲时点
func (*SendPhaseIdle) Resolve ¶
func (sp *SendPhaseIdle) Resolve() (next Fsm, continueResolve bool)
type SendPhaseStart ¶
type SendPhaseStart struct {
Player IPlayer
}
SendPhaseStart 情报传递阶段开始时,选择传递一张情报
func (*SendPhaseStart) Resolve ¶
func (sp *SendPhaseStart) Resolve() (next Fsm, continueResolve bool)
type StartWaitForChengQing ¶
type StartWaitForChengQing struct { WhoseTurn IPlayer DyingQueue []IPlayer DiedQueue []IPlayer AfterDieResolve Fsm }
StartWaitForChengQing 判断是否需要濒死求澄清
func (*StartWaitForChengQing) Resolve ¶
func (cq *StartWaitForChengQing) Resolve() (next Fsm, continueResolve bool)
type UseChengQingOnDying ¶
type UseChengQingOnDying struct {
WaitForChengQing *WaitForChengQing
}
UseChengQingOnDying 濒死求澄清时,使用了澄清
func (*UseChengQingOnDying) Resolve ¶
func (cq *UseChengQingOnDying) Resolve() (next Fsm, continueResolve bool)
type WaitForChengQing ¶
type WaitForChengQing struct { WhoseTurn IPlayer WhoDie IPlayer AskWhom IPlayer DyingQueue []IPlayer DiedQueue []IPlayer AfterDieResolve Fsm }
WaitForChengQing 濒死求澄清
func (*WaitForChengQing) Resolve ¶
func (cq *WaitForChengQing) Resolve() (next Fsm, continueResolve bool)
type WaitForDieGiveCard ¶
type WaitForDieGiveCard struct { WhoseTurn IPlayer DiedIndex int DiedQueue []IPlayer ReceiveOrder []IPlayer AfterDieResolve Fsm }
WaitForDieGiveCard 等待死亡角色给三张牌
func (*WaitForDieGiveCard) Resolve ¶
func (dg *WaitForDieGiveCard) Resolve() (next Fsm, continueResolve bool)
type WaitNextForChengQing ¶
type WaitNextForChengQing struct {
WaitForChengQing *WaitForChengQing
}
WaitNextForChengQing 濒死求澄清时,询问下一个人
func (*WaitNextForChengQing) Resolve ¶
func (cq *WaitNextForChengQing) Resolve() (next Fsm, continueResolve bool)
Click to show internal directories.
Click to hide internal directories.