usecase

usecase

import "github.com/yuta-yoshinaga/go_trumpcards/internal/usecase"

Index

Constants

const (
    // CrazyEightsPhaseRoundEnd ラウンド終了フェーズ (domain からの再エクスポート)
    CrazyEightsPhaseRoundEnd = domain.CrazyEightsPhaseRoundEnd
    // CrazyEightsPhaseGameEnd ゲーム終了フェーズ (domain からの再エクスポート)
    CrazyEightsPhaseGameEnd = domain.CrazyEightsPhaseGameEnd
)

## type BaccaratInteractor

BaccaratInteractor バカラインタラクタークラス

type BaccaratInteractor struct {
    // contains filtered or unexported fields
}

### func NewBaccaratInteractor

func NewBaccaratInteractor(b interfaces.BaccaratGame, bp presenter.BaccaratPresenter) *BaccaratInteractor

NewBaccaratInteractor コンストラクタ

### func RestoreBaccaratInteractor

func RestoreBaccaratInteractor(data []byte, bp presenter.BaccaratPresenter) (*BaccaratInteractor, error)

RestoreBaccaratInteractor deserialises JSON into a BaccaratInteractor.

### func (*BaccaratInteractor) ActionLog

func (bi *BaccaratInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*BaccaratInteractor) Bet

func (bi *BaccaratInteractor) Bet(amount, betType, ppBet, bpBet int) string

Bet ベット

### func (*BaccaratInteractor) ClearHistory

func (bi *BaccaratInteractor) ClearHistory() string

ClearHistory 罫線履歴クリア

### func (*BaccaratInteractor) Reset

func (bi *BaccaratInteractor) Reset() string

Reset ゲーム初期化

## type BaccaratInteractorIF

BaccaratInteractorIF バカラインタラクターインタフェース

type BaccaratInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // Bet ベット
    Bet(amount, betType, ppBet, bpBet int) string
    // ClearHistory 罫線履歴クリア
    ClearHistory() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type BlackJackInteractor

BlackJackInteractor ブラックジャックインタラクタークラス

type BlackJackInteractor struct {
    // contains filtered or unexported fields
}

### func NewBlackJackInteractor

func NewBlackJackInteractor(bj interfaces.BlackJackGame, bjp presenter.BlackJackPresenter) *BlackJackInteractor

NewBlackJackInteractor コンストラクタ

### func RestoreBlackJackInteractor

func RestoreBlackJackInteractor(data []byte, bjp presenter.BlackJackPresenter) (*BlackJackInteractor, error)

RestoreBlackJackInteractor deserialises JSON into a BlackJackInteractor.

### func (*BlackJackInteractor) ActionLog

func (bi *BlackJackInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*BlackJackInteractor) Bet

func (bi *BlackJackInteractor) Bet(amount, ppBet, t3Bet, handCount int) string

Bet ベット

### func (*BlackJackInteractor) DeclineEarlySurrender

func (bi *BlackJackInteractor) DeclineEarlySurrender() string

DeclineEarlySurrender アーリーサレンダー辞退

### func (*BlackJackInteractor) DeclineInsurance

func (bi *BlackJackInteractor) DeclineInsurance() string

DeclineInsurance インシュランス辞退

### func (*BlackJackInteractor) DoubleDown

func (bi *BlackJackInteractor) DoubleDown() string

DoubleDown ダブルダウン

### func (*BlackJackInteractor) EarlySurrender

func (bi *BlackJackInteractor) EarlySurrender() string

EarlySurrender アーリーサレンダー

### func (*BlackJackInteractor) Hit

func (bi *BlackJackInteractor) Hit() string

Hit ヒット

### func (*BlackJackInteractor) Insurance

func (bi *BlackJackInteractor) Insurance() string

Insurance インシュランス

### func (*BlackJackInteractor) Reset

func (bi *BlackJackInteractor) Reset() string

Reset ゲーム初期化

### func (*BlackJackInteractor) ResetWithConfig

func (bi *BlackJackInteractor) ResetWithConfig(cfg domain.BlackJackConfig) string

ResetWithConfig 設定付きリセット

### func (*BlackJackInteractor) SetCountingSystem

func (bi *BlackJackInteractor) SetCountingSystem(system int) string

SetCountingSystem カウンティングシステム変更

### func (*BlackJackInteractor) SetCpuPlayerCount

func (bi *BlackJackInteractor) SetCpuPlayerCount(count int) string

SetCpuPlayerCount CPUプレイヤー数変更

### func (*BlackJackInteractor) SetDeckCount

func (bi *BlackJackInteractor) SetDeckCount(count int) string

SetDeckCount デッキ数設定

### func (*BlackJackInteractor) SetDeckPenetration

func (bi *BlackJackInteractor) SetDeckPenetration(penetration int) string

SetDeckPenetration デッキペネトレーション率設定

### func (*BlackJackInteractor) SetSurrenderRule

func (bi *BlackJackInteractor) SetSurrenderRule(rule int) string

SetSurrenderRule サレンダールール変更

### func (*BlackJackInteractor) Split

func (bi *BlackJackInteractor) Split() string

Split スプリット

### func (*BlackJackInteractor) Stand

func (bi *BlackJackInteractor) Stand() string

Stand スタンド

### func (*BlackJackInteractor) Surrender

func (bi *BlackJackInteractor) Surrender() string

Surrender サレンダー

### func (*BlackJackInteractor) ToggleCounting

func (bi *BlackJackInteractor) ToggleCounting() string

ToggleCounting カウンティング表示切り替え

### func (*BlackJackInteractor) ToggleDAS

func (bi *BlackJackInteractor) ToggleDAS() string

ToggleDAS スプリット後ダブルダウン許可切り替え

### func (*BlackJackInteractor) ToggleHint

func (bi *BlackJackInteractor) ToggleHint() string

ToggleHint ヒント表示切り替え

### func (*BlackJackInteractor) ToggleSoft17

func (bi *BlackJackInteractor) ToggleSoft17() string

ToggleSoft17 ソフト17ルール切り替え

## type BlackJackInteractorIF

BlackJackInteractorIF ブラックジャックインタラクターインタフェース

type BlackJackInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // Hit ヒット
    Hit() string
    // Stand スタンド
    Stand() string
    // Bet ベット
    Bet(amount, ppBet, t3Bet, handCount int) string
    // DoubleDown ダブルダウン
    DoubleDown() string
    // Split スプリット
    Split() string
    // Insurance インシュランス
    Insurance() string
    // DeclineInsurance インシュランス辞退
    DeclineInsurance() string
    // Surrender サレンダー
    Surrender() string
    // EarlySurrender アーリーサレンダー
    EarlySurrender() string
    // DeclineEarlySurrender アーリーサレンダー辞退
    DeclineEarlySurrender() string
    // SetDeckCount デッキ数設定
    SetDeckCount(count int) string
    // ToggleHint ヒント表示切り替え
    ToggleHint() string
    // ToggleSoft17 ソフト17ルール切り替え
    ToggleSoft17() string
    // ToggleCounting カウンティング表示切り替え
    ToggleCounting() string
    // ToggleDAS スプリット後ダブルダウン許可切り替え
    ToggleDAS() string
    // SetCountingSystem カウンティングシステム変更
    SetCountingSystem(system int) string
    // SetDeckPenetration デッキペネトレーション率設定
    SetDeckPenetration(penetration int) string
    // SetCpuPlayerCount CPUプレイヤー数変更
    SetCpuPlayerCount(count int) string
    // SetSurrenderRule サレンダールール変更
    SetSurrenderRule(rule int) string
    // ResetWithConfig 設定付きリセット
    ResetWithConfig(cfg domain.BlackJackConfig) string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type BridgeInteractor

BridgeInteractor ブリッジインタラクタークラス

type BridgeInteractor struct {
    // contains filtered or unexported fields
}

### func NewBridgeInteractor

func NewBridgeInteractor(b interfaces.BridgeGame, bp presenter.BridgePresenter) *BridgeInteractor

NewBridgeInteractor コンストラクタ

### func RestoreBridgeInteractor

func RestoreBridgeInteractor(data []byte, bp presenter.BridgePresenter) (*BridgeInteractor, error)

RestoreBridgeInteractor deserialises JSON into a BridgeInteractor.

### func (*BridgeInteractor) ActionLog

func (bi *BridgeInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*BridgeInteractor) Bid

func (bi *BridgeInteractor) Bid(bidType int, level int, suit int) string

Bid ビッドする

### func (*BridgeInteractor) GetConfig

func (bi *BridgeInteractor) GetConfig() domain.BridgeConfig

GetConfig 現在の設定を取得

### func (*BridgeInteractor) Hint

func (bi *BridgeInteractor) Hint() string

Hint ヒント取得

### func (*BridgeInteractor) NextRound

func (bi *BridgeInteractor) NextRound() string

NextRound ラウンドをスコアリングして次のラウンドへ進む

### func (*BridgeInteractor) NextTrick

func (bi *BridgeInteractor) NextTrick() string

NextTrick トリックを解決して次のトリックへ進む

### func (*BridgeInteractor) Play

func (bi *BridgeInteractor) Play(cardIndex int) string

Play カードをプレイ

### func (*BridgeInteractor) Reset

func (bi *BridgeInteractor) Reset() string

Reset ゲーム初期化

### func (*BridgeInteractor) ResetWithConfig

func (bi *BridgeInteractor) ResetWithConfig(cfg domain.BridgeConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type BridgeInteractorIF

BridgeInteractorIF ブリッジインタラクターインタフェース

type BridgeInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.BridgeConfig) string
    // Bid ビッドする (bidType: 0=Pass, 1=Normal, 2=Double, 3=Redouble)
    Bid(bidType int, level int, suit int) string
    // Play カードをプレイ
    Play(cardIndex int) string
    // NextTrick 次のトリックへ進む
    NextTrick() string
    // NextRound ラウンドをスコアリングして次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.BridgeConfig
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type CanastaInteractor

CanastaInteractor カナスタインタラクタークラス

type CanastaInteractor struct {
    // contains filtered or unexported fields
}

### func NewCanastaInteractor

func NewCanastaInteractor(g interfaces.CanastaGame, gp presenter.CanastaPresenter) *CanastaInteractor

NewCanastaInteractor コンストラクタ

### func RestoreCanastaInteractor

func RestoreCanastaInteractor(data []byte, gp presenter.CanastaPresenter) (*CanastaInteractor, error)

RestoreCanastaInteractor deserialises JSON into a CanastaInteractor.

### func (*CanastaInteractor) ActionLog

func (ci *CanastaInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*CanastaInteractor) Discard

func (ci *CanastaInteractor) Discard(cardIndex int) string

Discard カードを捨てる

### func (*CanastaInteractor) DrawFromDiscard

func (ci *CanastaInteractor) DrawFromDiscard(naturalPairIndices []int) string

DrawFromDiscard 捨て札の山を取る

### func (*CanastaInteractor) DrawFromStock

func (ci *CanastaInteractor) DrawFromStock() string

DrawFromStock 山札からカードを引く

### func (*CanastaInteractor) GetConfig

func (ci *CanastaInteractor) GetConfig() domain.CanastaConfig

GetConfig 現在の設定を取得

### func (*CanastaInteractor) GoOut

func (ci *CanastaInteractor) GoOut() string

GoOut 上がる

### func (*CanastaInteractor) Meld

func (ci *CanastaInteractor) Meld(meldGroups [][]int) string

Meld メルドを出す

### func (*CanastaInteractor) NextRound

func (ci *CanastaInteractor) NextRound() string

NextRound 次のラウンドへ進む

### func (*CanastaInteractor) Reset

func (ci *CanastaInteractor) Reset() string

Reset ゲーム初期化

### func (*CanastaInteractor) ResetWithConfig

func (ci *CanastaInteractor) ResetWithConfig(cfg domain.CanastaConfig) string

ResetWithConfig 設定を変更してゲーム初期化

### func (*CanastaInteractor) SkipMeld

func (ci *CanastaInteractor) SkipMeld() string

SkipMeld メルドフェーズをスキップ

## type CanastaInteractorIF

CanastaInteractorIF カナスタインタラクターインタフェース

type CanastaInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.CanastaConfig) string
    // DrawFromStock 山札からカードを引く
    DrawFromStock() string
    // DrawFromDiscard 捨て札の山を取る
    DrawFromDiscard(naturalPairIndices []int) string
    // Meld メルドを出す
    Meld(meldGroups [][]int) string
    // SkipMeld メルドフェーズをスキップ
    SkipMeld() string
    // Discard カードを捨てる
    Discard(cardIndex int) string
    // GoOut 上がる
    GoOut() string
    // NextRound 次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.CanastaConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type ClockSolitaireInteractor

ClockSolitaireInteractor クロックソリティアインタラクタークラス

type ClockSolitaireInteractor struct {
    // contains filtered or unexported fields
}

### func NewClockSolitaireInteractor

func NewClockSolitaireInteractor(g interfaces.ClockSolitaireGame, p presenter.ClockSolitairePresenter) *ClockSolitaireInteractor

NewClockSolitaireInteractor コンストラクタ

### func RestoreClockSolitaireInteractor

func RestoreClockSolitaireInteractor(data []byte, p presenter.ClockSolitairePresenter) (*ClockSolitaireInteractor, error)

RestoreClockSolitaireInteractor deserialises JSON into a ClockSolitaireInteractor.

### func (*ClockSolitaireInteractor) ActionLog

func (ci *ClockSolitaireInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*ClockSolitaireInteractor) AutoPlay

func (ci *ClockSolitaireInteractor) AutoPlay() string

AutoPlay 自動プレイ

### func (*ClockSolitaireInteractor) Reset

func (ci *ClockSolitaireInteractor) Reset() string

Reset ゲーム初期化

### func (*ClockSolitaireInteractor) Step

func (ci *ClockSolitaireInteractor) Step() string

Step 1ステップ実行

## type ClockSolitaireInteractorIF

ClockSolitaireInteractorIF クロックソリティアインタラクターインタフェース

type ClockSolitaireInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // Step 1ステップ実行
    Step() string
    // AutoPlay 自動プレイ
    AutoPlay() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type CrazyEightsInteractor

CrazyEightsInteractor クレイジーエイトインタラクタークラス

type CrazyEightsInteractor struct {
    // contains filtered or unexported fields
}

### func NewCrazyEightsInteractor

func NewCrazyEightsInteractor(g interfaces.CrazyEightsGame, gp presenter.CrazyEightsPresenter) *CrazyEightsInteractor

NewCrazyEightsInteractor コンストラクタ

### func RestoreCrazyEightsInteractor

func RestoreCrazyEightsInteractor(data []byte, gp presenter.CrazyEightsPresenter) (*CrazyEightsInteractor, error)

RestoreCrazyEightsInteractor deserialises JSON into a CrazyEightsInteractor.

### func (*CrazyEightsInteractor) ActionLog

func (ci *CrazyEightsInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*CrazyEightsInteractor) ChooseSuit

func (ci *CrazyEightsInteractor) ChooseSuit(suit int) string

ChooseSuit スートを選択 (8を出した後)

### func (*CrazyEightsInteractor) Draw

func (ci *CrazyEightsInteractor) Draw() string

Draw カードを引く

### func (*CrazyEightsInteractor) GetConfig

func (ci *CrazyEightsInteractor) GetConfig() domain.CrazyEightsConfig

GetConfig 現在の設定を取得

### func (*CrazyEightsInteractor) NextRound

func (ci *CrazyEightsInteractor) NextRound() string

NextRound ラウンドをスコアリングして次のラウンドへ進む

### func (*CrazyEightsInteractor) Play

func (ci *CrazyEightsInteractor) Play(cardIndex int) string

Play カードをプレイ

### func (*CrazyEightsInteractor) Reset

func (ci *CrazyEightsInteractor) Reset() string

Reset ゲーム初期化

### func (*CrazyEightsInteractor) ResetWithConfig

func (ci *CrazyEightsInteractor) ResetWithConfig(cfg domain.CrazyEightsConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type CrazyEightsInteractorIF

CrazyEightsInteractorIF クレイジーエイトインタラクターインタフェース

type CrazyEightsInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.CrazyEightsConfig) string
    // Play カードをプレイ
    Play(cardIndex int) string
    // ChooseSuit スートを選択 (8を出した後)
    ChooseSuit(suit int) string
    // Draw カードを引く
    Draw() string
    // NextRound ラウンドをスコアリングして次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.CrazyEightsConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type CribbageInteractor

CribbageInteractor クリベッジインタラクタークラス

type CribbageInteractor struct {
    // contains filtered or unexported fields
}

### func NewCribbageInteractor

func NewCribbageInteractor(g interfaces.CribbageGame, gp presenter.CribbagePresenter) *CribbageInteractor

NewCribbageInteractor コンストラクタ

### func RestoreCribbageInteractor

func RestoreCribbageInteractor(data []byte, gp presenter.CribbagePresenter) (*CribbageInteractor, error)

RestoreCribbageInteractor deserialises JSON into a CribbageInteractor.

### func (*CribbageInteractor) ActionLog

func (ci *CribbageInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*CribbageInteractor) Discard

func (ci *CribbageInteractor) Discard(cardIndices []int) string

Discard クリブに2枚捨てる

### func (*CribbageInteractor) GetConfig

func (ci *CribbageInteractor) GetConfig() domain.CribbageConfig

GetConfig 現在の設定を取得

### func (*CribbageInteractor) Go

func (ci *CribbageInteractor) Go() string

Go Goを宣言する

### func (*CribbageInteractor) NextRound

func (ci *CribbageInteractor) NextRound() string

NextRound 次のラウンドへ進む

### func (*CribbageInteractor) Peg

func (ci *CribbageInteractor) Peg(cardIndex int) string

Peg ペギングでカードを出す

### func (*CribbageInteractor) Reset

func (ci *CribbageInteractor) Reset() string

Reset ゲーム初期化

### func (*CribbageInteractor) ResetWithConfig

func (ci *CribbageInteractor) ResetWithConfig(cfg domain.CribbageConfig) string

ResetWithConfig 設定を変更してゲーム初期化

### func (*CribbageInteractor) ShowNext

func (ci *CribbageInteractor) ShowNext() string

ShowNext ショーフェーズの次のスコア計算

## type CribbageInteractorIF

CribbageInteractorIF クリベッジインタラクターインタフェース

type CribbageInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.CribbageConfig) string
    // Discard クリブに2枚捨てる
    Discard(cardIndices []int) string
    // Peg ペギングでカードを出す
    Peg(cardIndex int) string
    // Go Goを宣言する
    Go() string
    // ShowNext ショーフェーズの次のスコア計算
    ShowNext() string
    // NextRound 次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.CribbageConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type DaifugoInteractor

DaifugoInteractor 大富豪インタラクタークラス

type DaifugoInteractor struct {
    // contains filtered or unexported fields
}

### func NewDaifugoInteractor

func NewDaifugoInteractor(dg interfaces.DaifugoGame, dgp presenter.DaifugoPresenter) *DaifugoInteractor

NewDaifugoInteractor コンストラクタ

### func RestoreDaifugoInteractor

func RestoreDaifugoInteractor(data []byte, dgp presenter.DaifugoPresenter) (*DaifugoInteractor, error)

RestoreDaifugoInteractor deserialises JSON into a DaifugoInteractor.

### func (*DaifugoInteractor) ActionLog

func (di *DaifugoInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*DaifugoInteractor) GetConfig

func (di *DaifugoInteractor) GetConfig() domain.DaifugoConfig

GetConfig 現在の設定を返す

### func (*DaifugoInteractor) Play

func (di *DaifugoInteractor) Play(indices []int) string

Play 人間プレイヤーがカードを出す (または パスする) indices: 出すカードのインデックス。空の場合はパス。

### func (*DaifugoInteractor) Reset

func (di *DaifugoInteractor) Reset() string

Reset ゲーム初期化

### func (*DaifugoInteractor) ResetWithConfig

func (di *DaifugoInteractor) ResetWithConfig(config domain.DaifugoConfig) string

ResetWithConfig 設定を変更してゲームを初期化

### func (*DaifugoInteractor) Sort

func (di *DaifugoInteractor) Sort(mode domain.DaifugoSortMode) string

Sort 手札ソートモードを変更

## type DaifugoInteractorIF

DaifugoInteractorIF 大富豪インタラクターインタフェース

type DaifugoInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // Play 人間プレイヤーがカードを出す (または パスする)
    Play(indices []int) string
    // ResetWithConfig 設定を変更してゲームを初期化
    ResetWithConfig(config domain.DaifugoConfig) string
    // GetConfig 現在の設定を返す
    GetConfig() domain.DaifugoConfig
    // Sort 手札ソートモードを変更
    Sort(mode domain.DaifugoSortMode) string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type DoubtInteractor

DoubtInteractor ダウトインタラクタークラス

type DoubtInteractor struct {
    // contains filtered or unexported fields
}

### func NewDoubtInteractor

func NewDoubtInteractor(d interfaces.DoubtGame, dp presenter.DoubtPresenter) *DoubtInteractor

NewDoubtInteractor コンストラクタ

### func RestoreDoubtInteractor

func RestoreDoubtInteractor(data []byte, dp presenter.DoubtPresenter) (*DoubtInteractor, error)

RestoreDoubtInteractor deserialises JSON into a DoubtInteractor.

### func (*DoubtInteractor) ActionLog

func (di *DoubtInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*DoubtInteractor) GetConfig

func (di *DoubtInteractor) GetConfig() domain.DoubtConfig

GetConfig 現在の設定を取得

### func (*DoubtInteractor) GetCpuDoubters

func (di *DoubtInteractor) GetCpuDoubters() []int

GetCpuDoubters CPUダウターインデックスリスト取得

### func (*DoubtInteractor) Play

func (di *DoubtInteractor) Play(cardIndices []int, claimedValue int, humanPlayMs int) string

Play 人間プレイヤーがカードを出す

### func (*DoubtInteractor) Reset

func (di *DoubtInteractor) Reset() string

Reset ゲーム初期化

### func (*DoubtInteractor) ResetProfile

func (di *DoubtInteractor) ResetProfile() string

ResetProfile メタAIプロファイルをリセット

### func (*DoubtInteractor) ResetWithConfig

func (di *DoubtInteractor) ResetWithConfig(cfg domain.DoubtConfig, profileData []byte) string

ResetWithConfig 設定を変更してゲーム初期化

### func (*DoubtInteractor) ResolveDoubt

func (di *DoubtInteractor) ResolveDoubt(doubterIndices []int) string

ResolveDoubt ダウト解決 (ダウトした人が正しかったか判定)

### func (*DoubtInteractor) SkipDoubt

func (di *DoubtInteractor) SkipDoubt() string

SkipDoubt ダウトをスキップ (誰もダウトしなかった)

## type DoubtInteractorIF

DoubtInteractorIF ダウトインタラクターインタフェース

type DoubtInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化 (profileData: JSONプロファイル、nilなら無視)
    ResetWithConfig(cfg domain.DoubtConfig, profileData []byte) string
    // Play 人間プレイヤーがカードを出す
    Play(cardIndices []int, claimedValue int, humanPlayMs int) string
    // ResolveDoubt ダウト解決
    ResolveDoubt(doubterIndices []int) string
    // SkipDoubt ダウトをスキップ
    SkipDoubt() string
    // GetCpuDoubters CPUダウターインデックスリスト取得
    GetCpuDoubters() []int
    // GetConfig 現在の設定を取得
    GetConfig() domain.DoubtConfig
    // ResetProfile メタAIプロファイルをリセット
    ResetProfile() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type EuchreInteractor

EuchreInteractor ユーカーインタラクタークラス

type EuchreInteractor struct {
    // contains filtered or unexported fields
}

### func NewEuchreInteractor

func NewEuchreInteractor(e interfaces.EuchreGame, ep presenter.EuchrePresenter) *EuchreInteractor

NewEuchreInteractor コンストラクタ

### func RestoreEuchreInteractor

func RestoreEuchreInteractor(data []byte, ep presenter.EuchrePresenter) (*EuchreInteractor, error)

RestoreEuchreInteractor deserialises JSON into an EuchreInteractor.

### func (*EuchreInteractor) ActionLog

func (ei *EuchreInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*EuchreInteractor) CallTrump

func (ei *EuchreInteractor) CallTrump(suit int, goAlone bool) string

CallTrump スートを指名する

### func (*EuchreInteractor) Discard

func (ei *EuchreInteractor) Discard(cardIndex int) string

Discard カードを捨てる

### func (*EuchreInteractor) GetConfig

func (ei *EuchreInteractor) GetConfig() domain.EuchreConfig

GetConfig 現在の設定を取得

### func (*EuchreInteractor) Hint

func (ei *EuchreInteractor) Hint() string

Hint ヒント取得

### func (*EuchreInteractor) NextRound

func (ei *EuchreInteractor) NextRound() string

NextRound ラウンドをスコアリングして次のラウンドへ進む

### func (*EuchreInteractor) NextTrick

func (ei *EuchreInteractor) NextTrick() string

NextTrick トリックを解決して次のトリックへ進む

### func (*EuchreInteractor) Pass

func (ei *EuchreInteractor) Pass() string

Pass 現在のフェーズに応じてパスする (PickUp → PickUp(false,false), CallTrump → PassCall)

### func (*EuchreInteractor) PassCall

func (ei *EuchreInteractor) PassCall() string

PassCall コールフェーズでパスする

### func (*EuchreInteractor) PickUp

func (ei *EuchreInteractor) PickUp(orderUp bool, goAlone bool) string

PickUp ピックアップ判断

### func (*EuchreInteractor) Play

func (ei *EuchreInteractor) Play(cardIndex int) string

Play カードをプレイ

### func (*EuchreInteractor) Reset

func (ei *EuchreInteractor) Reset() string

Reset ゲーム初期化

### func (*EuchreInteractor) ResetWithConfig

func (ei *EuchreInteractor) ResetWithConfig(cfg domain.EuchreConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type EuchreInteractorIF

EuchreInteractorIF ユーカーインタラクターインタフェース

type EuchreInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.EuchreConfig) string
    // PickUp ピックアップ判断 (orderUp=true で指名, goAlone=true でゴーアローン)
    PickUp(orderUp bool, goAlone bool) string
    // CallTrump スートを指名する
    CallTrump(suit int, goAlone bool) string
    // Pass 現在のフェーズに応じてパスする (PickUp or CallTrump)
    Pass() string
    // PassCall コールフェーズでパスする
    PassCall() string
    // Discard カードを捨てる
    Discard(cardIndex int) string
    // Play カードをプレイ
    Play(cardIndex int) string
    // NextTrick 次のトリックへ進む
    NextTrick() string
    // NextRound ラウンドをスコアリングして次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.EuchreConfig
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type FreeCellInteractor

FreeCellInteractor フリーセルインタラクタークラス

type FreeCellInteractor struct {
    // contains filtered or unexported fields
}

### func NewFreeCellInteractor

func NewFreeCellInteractor(f interfaces.FreeCellGame, fp presenter.FreeCellPresenter) *FreeCellInteractor

NewFreeCellInteractor コンストラクタ

### func RestoreFreeCellInteractor

func RestoreFreeCellInteractor(data []byte, fp presenter.FreeCellPresenter) (*FreeCellInteractor, error)

RestoreFreeCellInteractor deserialises JSON into a FreeCellInteractor.

### func (*FreeCellInteractor) ActionLog

func (fi *FreeCellInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*FreeCellInteractor) AutoComplete

func (fi *FreeCellInteractor) AutoComplete() string

AutoComplete オートコンプリート

### func (*FreeCellInteractor) GiveUp

func (fi *FreeCellInteractor) GiveUp() string

GiveUp ギブアップ

### func (*FreeCellInteractor) Hint

func (fi *FreeCellInteractor) Hint() string

Hint ヒント取得

### func (*FreeCellInteractor) MoveFreeCellToFoundation

func (fi *FreeCellInteractor) MoveFreeCellToFoundation(cell int) string

MoveFreeCellToFoundation フリーセルからファンデーションにカードを移動

### func (*FreeCellInteractor) MoveFreeCellToTableau

func (fi *FreeCellInteractor) MoveFreeCellToTableau(cell, col int) string

MoveFreeCellToTableau フリーセルからタブローにカードを移動

### func (*FreeCellInteractor) MoveTableauToFoundation

func (fi *FreeCellInteractor) MoveTableauToFoundation(col int) string

MoveTableauToFoundation タブローからファンデーションにカードを移動

### func (*FreeCellInteractor) MoveTableauToFreeCell

func (fi *FreeCellInteractor) MoveTableauToFreeCell(col, cell int) string

MoveTableauToFreeCell タブローからフリーセルにカードを移動

### func (*FreeCellInteractor) MoveTableauToTableau

func (fi *FreeCellInteractor) MoveTableauToTableau(fromCol, cardIndex, toCol int) string

MoveTableauToTableau タブローからタブローにカードを移動

### func (*FreeCellInteractor) Reset

func (fi *FreeCellInteractor) Reset() string

Reset ゲーム初期化

### func (*FreeCellInteractor) Undo

func (fi *FreeCellInteractor) Undo() string

Undo アンドゥ

### func (*FreeCellInteractor) UndoN

func (fi *FreeCellInteractor) UndoN(n int) string

UndoN n回連続アンドゥ

## type FreeCellInteractorIF

FreeCellInteractorIF フリーセルインタラクターインタフェース

type FreeCellInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // MoveTableauToTableau タブローからタブローにカードを移動
    MoveTableauToTableau(fromCol, cardIndex, toCol int) string
    // MoveTableauToFoundation タブローからファンデーションにカードを移動
    MoveTableauToFoundation(col int) string
    // MoveTableauToFreeCell タブローからフリーセルにカードを移動
    MoveTableauToFreeCell(col, cell int) string
    // MoveFreeCellToTableau フリーセルからタブローにカードを移動
    MoveFreeCellToTableau(cell, col int) string
    // MoveFreeCellToFoundation フリーセルからファンデーションにカードを移動
    MoveFreeCellToFoundation(cell int) string
    // GiveUp ギブアップ
    GiveUp() string
    // Hint ヒント取得
    Hint() string
    // AutoComplete オートコンプリート
    AutoComplete() string
    // ActionLog 棋譜を出力する
    ActionLog() string
    // Undo アンドゥ
    Undo() string
    // UndoN n回連続アンドゥ
    UndoN(n int) string
}

## type GameBase

GameBase provides common functionality for all game interactors. Embed this struct to inherit the Snapshot method.

type GameBase[G any] struct {
    Game G
}

### func (*GameBase[G]) Snapshot

func (b *GameBase[G]) Snapshot() ([]byte, error)

Snapshot serialises the game state to JSON for KV persistence.

## type GinRummyInteractor

GinRummyInteractor ジンラミーインタラクタークラス

type GinRummyInteractor struct {
    // contains filtered or unexported fields
}

### func NewGinRummyInteractor

func NewGinRummyInteractor(g interfaces.GinRummyGame, gp presenter.GinRummyPresenter) *GinRummyInteractor

NewGinRummyInteractor コンストラクタ

### func RestoreGinRummyInteractor

func RestoreGinRummyInteractor(data []byte, gp presenter.GinRummyPresenter) (*GinRummyInteractor, error)

RestoreGinRummyInteractor deserialises JSON into a GinRummyInteractor.

### func (*GinRummyInteractor) ActionLog

func (ci *GinRummyInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*GinRummyInteractor) Discard

func (ci *GinRummyInteractor) Discard(cardIndex int) string

Discard カードを捨てる

### func (*GinRummyInteractor) DrawFromDiscard

func (ci *GinRummyInteractor) DrawFromDiscard() string

DrawFromDiscard 捨て札からカードを引く

### func (*GinRummyInteractor) DrawFromStock

func (ci *GinRummyInteractor) DrawFromStock() string

DrawFromStock 山札からカードを引く

### func (*GinRummyInteractor) GetConfig

func (ci *GinRummyInteractor) GetConfig() domain.GinRummyConfig

GetConfig 現在の設定を取得

### func (*GinRummyInteractor) Knock

func (ci *GinRummyInteractor) Knock(cardIndex int) string

Knock ノックする

### func (*GinRummyInteractor) Layoff

func (ci *GinRummyInteractor) Layoff(cardIndices []int) string

Layoff レイオフする

### func (*GinRummyInteractor) NextRound

func (ci *GinRummyInteractor) NextRound() string

NextRound 次のラウンドへ進む

### func (*GinRummyInteractor) Reset

func (ci *GinRummyInteractor) Reset() string

Reset ゲーム初期化

### func (*GinRummyInteractor) ResetWithConfig

func (ci *GinRummyInteractor) ResetWithConfig(cfg domain.GinRummyConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type GinRummyInteractorIF

GinRummyInteractorIF ジンラミーインタラクターインタフェース

type GinRummyInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.GinRummyConfig) string
    // DrawFromStock 山札からカードを引く
    DrawFromStock() string
    // DrawFromDiscard 捨て札からカードを引く
    DrawFromDiscard() string
    // Discard カードを捨てる
    Discard(cardIndex int) string
    // Knock ノックする
    Knock(cardIndex int) string
    // Layoff レイオフする
    Layoff(cardIndices []int) string
    // NextRound 次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.GinRummyConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type GoFishInteractor

GoFishInteractor Go Fishインタラクタークラス

type GoFishInteractor struct {
    // contains filtered or unexported fields
}

### func NewGoFishInteractor

func NewGoFishInteractor(gf interfaces.GoFishGame, gfp presenter.GoFishPresenter) *GoFishInteractor

NewGoFishInteractor コンストラクタ

### func RestoreGoFishInteractor

func RestoreGoFishInteractor(data []byte, gfp presenter.GoFishPresenter) (*GoFishInteractor, error)

RestoreGoFishInteractor deserialises JSON into a GoFishInteractor.

### func (*GoFishInteractor) ActionLog

func (gi *GoFishInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*GoFishInteractor) Ask

func (gi *GoFishInteractor) Ask(targetIdx, rank int) string

Ask 人間プレイヤーが相手にランクを要求する

### func (*GoFishInteractor) GetConfig

func (gi *GoFishInteractor) GetConfig() domain.GoFishConfig

GetConfig 現在の設定を返す

### func (*GoFishInteractor) Reset

func (gi *GoFishInteractor) Reset(config domain.GoFishConfig) string

Reset ゲーム初期化

## type GoFishInteractorIF

GoFishInteractorIF Go Fishインタラクターインタフェース

type GoFishInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset(config domain.GoFishConfig) string
    // GetConfig 現在の設定を返す
    GetConfig() domain.GoFishConfig
    // Ask 人間プレイヤーが相手にランクを要求する
    Ask(targetIdx, rank int) string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type GolfInteractor

GolfInteractor ゴルフソリティアインタラクタークラス

type GolfInteractor struct {
    // contains filtered or unexported fields
}

### func NewGolfInteractor

func NewGolfInteractor(g interfaces.GolfGame, gp presenter.GolfPresenter) *GolfInteractor

NewGolfInteractor コンストラクタ

### func RestoreGolfInteractor

func RestoreGolfInteractor(data []byte, gp presenter.GolfPresenter) (*GolfInteractor, error)

RestoreGolfInteractor deserialises JSON into a GolfInteractor.

### func (*GolfInteractor) ActionLog

func (gi *GolfInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*GolfInteractor) Draw

func (gi *GolfInteractor) Draw() string

Draw ストックからウェイストにカードを引く

### func (*GolfInteractor) GiveUp

func (gi *GolfInteractor) GiveUp() string

GiveUp ギブアップ

### func (*GolfInteractor) Hint

func (gi *GolfInteractor) Hint() string

Hint ヒント取得

### func (*GolfInteractor) Remove

func (gi *GolfInteractor) Remove(col int) string

Remove タブローのカードを除去

### func (*GolfInteractor) Reset

func (gi *GolfInteractor) Reset() string

Reset ゲーム初期化

### func (*GolfInteractor) Undo

func (gi *GolfInteractor) Undo() string

Undo アンドゥ

### func (*GolfInteractor) UndoN

func (gi *GolfInteractor) UndoN(n int) string

UndoN n回連続アンドゥ

## type GolfInteractorIF

GolfInteractorIF ゴルフソリティアインタラクターインタフェース

type GolfInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // Draw ストックからウェイストにカードを引く
    Draw() string
    // Remove タブローのカードを除去
    Remove(col int) string
    // GiveUp ギブアップ
    GiveUp() string
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
    // Undo アンドゥ
    Undo() string
    // UndoN n回連続アンドゥ
    UndoN(n int) string
}

## type HeartsInteractor

HeartsInteractor ハーツインタラクタークラス

type HeartsInteractor struct {
    // contains filtered or unexported fields
}

### func NewHeartsInteractor

func NewHeartsInteractor(h interfaces.HeartsGame, hp presenter.HeartsPresenter) *HeartsInteractor

NewHeartsInteractor コンストラクタ

### func RestoreHeartsInteractor

func RestoreHeartsInteractor(data []byte, hp presenter.HeartsPresenter) (*HeartsInteractor, error)

RestoreHeartsInteractor deserialises JSON into a HeartsInteractor.

### func (*HeartsInteractor) ActionLog

func (hi *HeartsInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*HeartsInteractor) GetConfig

func (hi *HeartsInteractor) GetConfig() domain.HeartsConfig

GetConfig 現在の設定を取得

### func (*HeartsInteractor) Hint

func (hi *HeartsInteractor) Hint() string

Hint ヒント取得

### func (*HeartsInteractor) NextRound

func (hi *HeartsInteractor) NextRound() string

NextRound ラウンドをスコアリングして次のラウンドへ進む

### func (*HeartsInteractor) NextTrick

func (hi *HeartsInteractor) NextTrick() string

NextTrick 次のトリックへ進む

### func (*HeartsInteractor) Pass

func (hi *HeartsInteractor) Pass(cardIndices []int) string

Pass カード交換

### func (*HeartsInteractor) Play

func (hi *HeartsInteractor) Play(cardIndex int) string

Play カードをプレイ

### func (*HeartsInteractor) Reset

func (hi *HeartsInteractor) Reset() string

Reset ゲーム初期化

### func (*HeartsInteractor) ResetWithConfig

func (hi *HeartsInteractor) ResetWithConfig(cfg domain.HeartsConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type HeartsInteractorIF

HeartsInteractorIF ハーツインタラクターインタフェース

type HeartsInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.HeartsConfig) string
    // Pass カード交換
    Pass(cardIndices []int) string
    // Play カードをプレイ
    Play(cardIndex int) string
    // NextTrick 次のトリックへ進む
    NextTrick() string
    // NextRound ラウンドをスコアリングして次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.HeartsConfig
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type HoldemInteractor

HoldemInteractor テキサスホールデムインタラクタークラス

type HoldemInteractor struct {
    // contains filtered or unexported fields
}

### func NewHoldemInteractor

func NewHoldemInteractor(h interfaces.HoldemGame, hp presenter.HoldemPresenter) *HoldemInteractor

NewHoldemInteractor コンストラクタ

### func RestoreHoldemInteractor

func RestoreHoldemInteractor(data []byte, hp presenter.HoldemPresenter) (*HoldemInteractor, error)

RestoreHoldemInteractor deserialises JSON into a HoldemInteractor.

### func (*HoldemInteractor) Action

func (hi *HoldemInteractor) Action(action int, amount int, humanPlayMs int) string

Action プレイヤーアクション実行

### func (*HoldemInteractor) ActionLog

func (hi *HoldemInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*HoldemInteractor) GetConfig

func (hi *HoldemInteractor) GetConfig() domain.HoldemConfig

GetConfig 現在の設定を取得

### func (*HoldemInteractor) Reset

func (hi *HoldemInteractor) Reset() string

Reset ゲーム初期化

### func (*HoldemInteractor) ResetWithConfig

func (hi *HoldemInteractor) ResetWithConfig(cfg domain.HoldemConfig, profileData []byte) string

ResetWithConfig 設定を変更してゲーム初期化

## type HoldemInteractorIF

HoldemInteractorIF テキサスホールデムインタラクターインタフェース

type HoldemInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    TournamentInteractorIF
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化 (profileData: JSONプロファイル、nilなら無視)
    ResetWithConfig(cfg domain.HoldemConfig, profileData []byte) string
    // Action プレイヤーアクション実行
    Action(action int, amount int, humanPlayMs int) string
    // GetConfig 現在の設定を取得
    GetConfig() domain.HoldemConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type IndianPokerInteractor

IndianPokerInteractor インディアンポーカーインタラクタークラス

type IndianPokerInteractor struct {
    // contains filtered or unexported fields
}

### func NewIndianPokerInteractor

func NewIndianPokerInteractor(ip interfaces.IndianPokerGame, ipp presenter.IndianPokerPresenter) *IndianPokerInteractor

NewIndianPokerInteractor コンストラクタ

### func RestoreIndianPokerInteractor

func RestoreIndianPokerInteractor(data []byte, ipp presenter.IndianPokerPresenter) (*IndianPokerInteractor, error)

RestoreIndianPokerInteractor deserialises JSON into an IndianPokerInteractor.

### func (*IndianPokerInteractor) Action

func (ipi *IndianPokerInteractor) Action(action int, amount int, humanPlayMs int) string

Action プレイヤーアクション実行

### func (*IndianPokerInteractor) ActionLog

func (ipi *IndianPokerInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*IndianPokerInteractor) GetConfig

func (ipi *IndianPokerInteractor) GetConfig() domain.IndianPokerConfig

GetConfig 現在の設定を取得

### func (*IndianPokerInteractor) Reset

func (ipi *IndianPokerInteractor) Reset() string

Reset ゲーム初期化

### func (*IndianPokerInteractor) ResetWithConfig

func (ipi *IndianPokerInteractor) ResetWithConfig(cfg domain.IndianPokerConfig, profileData []byte) string

ResetWithConfig 設定を変更してゲーム初期化

## type IndianPokerInteractorIF

IndianPokerInteractorIF インディアンポーカーインタラクターインタフェース

type IndianPokerInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化 (profileData: JSONプロファイル、nilなら無視)
    ResetWithConfig(cfg domain.IndianPokerConfig, profileData []byte) string
    // Action プレイヤーアクション実行
    Action(action int, amount int, humanPlayMs int) string
    // GetConfig 現在の設定を取得
    GetConfig() domain.IndianPokerConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type KlondikeInteractor

KlondikeInteractor クロンダイクインタラクタークラス

type KlondikeInteractor struct {
    // contains filtered or unexported fields
}

### func NewKlondikeInteractor

func NewKlondikeInteractor(k interfaces.KlondikeGame, kp presenter.KlondikePresenter) *KlondikeInteractor

NewKlondikeInteractor コンストラクタ

### func RestoreKlondikeInteractor

func RestoreKlondikeInteractor(data []byte, kp presenter.KlondikePresenter) (*KlondikeInteractor, error)

RestoreKlondikeInteractor deserialises JSON into a KlondikeInteractor.

### func (*KlondikeInteractor) ActionLog

func (ki *KlondikeInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*KlondikeInteractor) AutoComplete

func (ki *KlondikeInteractor) AutoComplete() string

AutoComplete オートコンプリート

### func (*KlondikeInteractor) Draw

func (ki *KlondikeInteractor) Draw() string

Draw ストックからウェイストにカードを引く

### func (*KlondikeInteractor) GiveUp

func (ki *KlondikeInteractor) GiveUp() string

GiveUp ギブアップ

### func (*KlondikeInteractor) Hint

func (ki *KlondikeInteractor) Hint() string

Hint ヒント取得

### func (*KlondikeInteractor) MoveTableauToFoundation

func (ki *KlondikeInteractor) MoveTableauToFoundation(col int) string

MoveTableauToFoundation タブローからファンデーションにカードを移動

### func (*KlondikeInteractor) MoveTableauToTableau

func (ki *KlondikeInteractor) MoveTableauToTableau(fromCol, cardIndex, toCol int) string

MoveTableauToTableau タブローからタブローにカードを移動

### func (*KlondikeInteractor) MoveWasteToFoundation

func (ki *KlondikeInteractor) MoveWasteToFoundation() string

MoveWasteToFoundation ウェイストからファンデーションにカードを移動

### func (*KlondikeInteractor) MoveWasteToTableau

func (ki *KlondikeInteractor) MoveWasteToTableau(col int) string

MoveWasteToTableau ウェイストからタブローにカードを移動

### func (*KlondikeInteractor) Reset

func (ki *KlondikeInteractor) Reset() string

Reset ゲーム初期化

### func (*KlondikeInteractor) ResetWithConfig

func (ki *KlondikeInteractor) ResetWithConfig(cfg domain.KlondikeConfig) string

ResetWithConfig 設定付きリセット

### func (*KlondikeInteractor) Undo

func (ki *KlondikeInteractor) Undo() string

Undo アンドゥ

### func (*KlondikeInteractor) UndoN

func (ki *KlondikeInteractor) UndoN(n int) string

UndoN n回連続アンドゥ

## type KlondikeInteractorIF

KlondikeInteractorIF クロンダイクインタラクターインタフェース

type KlondikeInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定付きリセット
    ResetWithConfig(cfg domain.KlondikeConfig) string
    // Draw ストックからウェイストにカードを引く
    Draw() string
    // MoveWasteToTableau ウェイストからタブローにカードを移動
    MoveWasteToTableau(col int) string
    // MoveWasteToFoundation ウェイストからファンデーションにカードを移動
    MoveWasteToFoundation() string
    // MoveTableauToTableau タブローからタブローにカードを移動
    MoveTableauToTableau(fromCol, cardIndex, toCol int) string
    // MoveTableauToFoundation タブローからファンデーションにカードを移動
    MoveTableauToFoundation(col int) string
    // GiveUp ギブアップ
    GiveUp() string
    // Hint ヒント取得
    Hint() string
    // AutoComplete オートコンプリート
    AutoComplete() string
    // ActionLog 棋譜を出力する
    ActionLog() string
    // Undo アンドゥ
    Undo() string
    // UndoN n回連続アンドゥ
    UndoN(n int) string
}

## type MemoryInteractor

MemoryInteractor 神経衰弱インタラクタークラス

type MemoryInteractor struct {
    // contains filtered or unexported fields
}

### func NewMemoryInteractor

func NewMemoryInteractor(m interfaces.MemoryGame, mp presenter.MemoryPresenter) *MemoryInteractor

NewMemoryInteractor コンストラクタ

### func RestoreMemoryInteractor

func RestoreMemoryInteractor(data []byte, mp presenter.MemoryPresenter) (*MemoryInteractor, error)

RestoreMemoryInteractor deserialises JSON into a MemoryInteractor.

### func (*MemoryInteractor) ActionLog

func (mi *MemoryInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*MemoryInteractor) Flip

func (mi *MemoryInteractor) Flip(pos int) string

Flip カードをめくる

### func (*MemoryInteractor) GetConfig

func (mi *MemoryInteractor) GetConfig() domain.MemoryConfig

GetConfig 現在の設定を取得

### func (*MemoryInteractor) Next

func (mi *MemoryInteractor) Next() string

Next 結果を解決し、CPU ターンを実行する

### func (*MemoryInteractor) Reset

func (mi *MemoryInteractor) Reset() string

Reset ゲーム初期化

### func (*MemoryInteractor) ResetWithConfig

func (mi *MemoryInteractor) ResetWithConfig(cfg domain.MemoryConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type MemoryInteractorIF

MemoryInteractorIF 神経衰弱インタラクターインタフェース

type MemoryInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.MemoryConfig) string
    // Flip カードをめくる
    Flip(pos int) string
    // Next 結果を解決し、CPUターンを実行する
    Next() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.MemoryConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type NapoleonInteractor

NapoleonInteractor ナポレオンインタラクタークラス

type NapoleonInteractor struct {
    // contains filtered or unexported fields
}

### func NewNapoleonInteractor

func NewNapoleonInteractor(n interfaces.NapoleonGame, np presenter.NapoleonPresenter) *NapoleonInteractor

NewNapoleonInteractor コンストラクタ

### func RestoreNapoleonInteractor

func RestoreNapoleonInteractor(data []byte, np presenter.NapoleonPresenter) (*NapoleonInteractor, error)

RestoreNapoleonInteractor deserialises JSON into a NapoleonInteractor.

### func (*NapoleonInteractor) ActionLog

func (ni *NapoleonInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*NapoleonInteractor) Bid

func (ni *NapoleonInteractor) Bid(bid int) string

Bid ビッドを宣言

### func (*NapoleonInteractor) DeclareTrump

func (ni *NapoleonInteractor) DeclareTrump(suit int, adjSuit int, adjVal int) string

DeclareTrump 切り札と副官を宣言

### func (*NapoleonInteractor) ExchangeKitty

func (ni *NapoleonInteractor) ExchangeKitty(discardIndex int) string

ExchangeKitty 場札を交換

### func (*NapoleonInteractor) GetConfig

func (ni *NapoleonInteractor) GetConfig() domain.NapoleonConfig

GetConfig 現在の設定を取得

### func (*NapoleonInteractor) Hint

func (ni *NapoleonInteractor) Hint() string

Hint ヒント取得

### func (*NapoleonInteractor) NextRound

func (ni *NapoleonInteractor) NextRound() string

NextRound ラウンドをスコアリングして次のラウンドへ進む

### func (*NapoleonInteractor) NextTrick

func (ni *NapoleonInteractor) NextTrick() string

NextTrick 次のトリックへ進む

### func (*NapoleonInteractor) Play

func (ni *NapoleonInteractor) Play(cardIndex int) string

Play カードをプレイ

### func (*NapoleonInteractor) Reset

func (ni *NapoleonInteractor) Reset() string

Reset ゲーム初期化

### func (*NapoleonInteractor) ResetWithConfig

func (ni *NapoleonInteractor) ResetWithConfig(cfg domain.NapoleonConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type NapoleonInteractorIF

NapoleonInteractorIF ナポレオンインタラクターインタフェース

type NapoleonInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.NapoleonConfig) string
    // Bid ビッドを宣言
    Bid(bid int) string
    // DeclareTrump 切り札と副官を宣言
    DeclareTrump(suit int, adjSuit int, adjVal int) string
    // ExchangeKitty 場札を交換
    ExchangeKitty(discardIndex int) string
    // Play カードをプレイ
    Play(cardIndex int) string
    // NextTrick 次のトリックへ進む
    NextTrick() string
    // NextRound ラウンドをスコアリングして次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.NapoleonConfig
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type OhHellInteractor

OhHellInteractor オー・ヘルインタラクタークラス

type OhHellInteractor struct {
    // contains filtered or unexported fields
}

### func NewOhHellInteractor

func NewOhHellInteractor(o interfaces.OhHellGame, op presenter.OhHellPresenter) *OhHellInteractor

NewOhHellInteractor コンストラクタ

### func RestoreOhHellInteractor

func RestoreOhHellInteractor(data []byte, op presenter.OhHellPresenter) (*OhHellInteractor, error)

RestoreOhHellInteractor deserialises JSON into an OhHellInteractor.

### func (*OhHellInteractor) ActionLog

func (oi *OhHellInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*OhHellInteractor) Bid

func (oi *OhHellInteractor) Bid(bid int) string

Bid ビッドを宣言

### func (*OhHellInteractor) GetConfig

func (oi *OhHellInteractor) GetConfig() domain.OhHellConfig

GetConfig 現在の設定を取得

### func (*OhHellInteractor) Hint

func (oi *OhHellInteractor) Hint() string

Hint ヒント取得

### func (*OhHellInteractor) NextRound

func (oi *OhHellInteractor) NextRound() string

NextRound ラウンドをスコアリングして次のラウンドへ進む

### func (*OhHellInteractor) NextTrick

func (oi *OhHellInteractor) NextTrick() string

NextTrick 次のトリックへ進む

### func (*OhHellInteractor) Play

func (oi *OhHellInteractor) Play(cardIndex int) string

Play カードをプレイ

### func (*OhHellInteractor) Reset

func (oi *OhHellInteractor) Reset() string

Reset ゲーム初期化

### func (*OhHellInteractor) ResetWithConfig

func (oi *OhHellInteractor) ResetWithConfig(cfg domain.OhHellConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type OhHellInteractorIF

OhHellInteractorIF オー・ヘルインタラクターインタフェース

type OhHellInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.OhHellConfig) string
    // Bid ビッドを宣言
    Bid(bid int) string
    // Play カードをプレイ
    Play(cardIndex int) string
    // NextTrick 次のトリックへ進む
    NextTrick() string
    // NextRound ラウンドをスコアリングして次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.OhHellConfig
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type OldMaidInteractor

OldMaidInteractor ババ抜きインタラクタークラス

type OldMaidInteractor struct {
    // contains filtered or unexported fields
}

### func NewOldMaidInteractor

func NewOldMaidInteractor(om interfaces.OldMaidGame, omp presenter.OldMaidPresenter) *OldMaidInteractor

NewOldMaidInteractor コンストラクタ

### func RestoreOldMaidInteractor

func RestoreOldMaidInteractor(data []byte, omp presenter.OldMaidPresenter) (*OldMaidInteractor, error)

RestoreOldMaidInteractor deserialises JSON into an OldMaidInteractor.

### func (*OldMaidInteractor) ActionLog

func (oi *OldMaidInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*OldMaidInteractor) Draw

func (oi *OldMaidInteractor) Draw(cardIdx int) string

Draw 人間プレイヤーがカードを引く cardIdx: 引くカードのインデックス。-1 の場合はランダム選択。

### func (*OldMaidInteractor) GetConfig

func (oi *OldMaidInteractor) GetConfig() domain.OldMaidConfig

GetConfig 現在の設定を返す

### func (*OldMaidInteractor) Reorder

func (oi *OldMaidInteractor) Reorder(indices []int) string

Reorder 人間プレイヤーの手札を並び替える

### func (*OldMaidInteractor) Reset

func (oi *OldMaidInteractor) Reset(config domain.OldMaidConfig, profileData []byte) string

Reset ゲーム初期化

### func (*OldMaidInteractor) ResetProfile

func (oi *OldMaidInteractor) ResetProfile() string

ResetProfile メタAIプロファイルをリセット

### func (*OldMaidInteractor) Shuffle

func (oi *OldMaidInteractor) Shuffle() string

Shuffle 人間プレイヤーの手札をシャッフルする

## type OldMaidInteractorIF

OldMaidInteractorIF ババ抜きインタラクターインタフェース

type OldMaidInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化 (profileData: JSONプロファイル、nilなら無視)
    Reset(config domain.OldMaidConfig, profileData []byte) string
    // GetConfig 現在の設定を返す
    GetConfig() domain.OldMaidConfig
    // Draw 人間プレイヤーがカードを引く
    Draw(cardIdx int) string
    // Shuffle 人間プレイヤーの手札をシャッフルする
    Shuffle() string
    // Reorder 人間プレイヤーの手札を並び替える
    Reorder(indices []int) string
    // ResetProfile メタAIプロファイルをリセット
    ResetProfile() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type OmahaInteractor

OmahaInteractor オマハホールデムインタラクタークラス

type OmahaInteractor struct {
    // contains filtered or unexported fields
}

### func NewOmahaInteractor

func NewOmahaInteractor(o interfaces.OmahaGame, op presenter.OmahaPresenter) *OmahaInteractor

NewOmahaInteractor コンストラクタ

### func RestoreOmahaInteractor

func RestoreOmahaInteractor(data []byte, op presenter.OmahaPresenter) (*OmahaInteractor, error)

RestoreOmahaInteractor deserialises JSON into an OmahaInteractor.

### func (*OmahaInteractor) Action

func (oi *OmahaInteractor) Action(action int, amount int, humanPlayMs int) string

Action プレイヤーアクション実行

### func (*OmahaInteractor) ActionLog

func (oi *OmahaInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*OmahaInteractor) GetConfig

func (oi *OmahaInteractor) GetConfig() domain.OmahaConfig

GetConfig 現在の設定を取得

### func (*OmahaInteractor) Reset

func (oi *OmahaInteractor) Reset() string

Reset ゲーム初期化

### func (*OmahaInteractor) ResetWithConfig

func (oi *OmahaInteractor) ResetWithConfig(cfg domain.OmahaConfig, profileData []byte) string

ResetWithConfig 設定を変更してゲーム初期化

## type OmahaInteractorIF

OmahaInteractorIF オマハホールデムインタラクターインタフェース

type OmahaInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    TournamentInteractorIF
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化 (profileData: JSONプロファイル、nilなら無視)
    ResetWithConfig(cfg domain.OmahaConfig, profileData []byte) string
    // Action プレイヤーアクション実行
    Action(action int, amount int, humanPlayMs int) string
    // GetConfig 現在の設定を取得
    GetConfig() domain.OmahaConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type PigsTailInteractor

PigsTailInteractor ぶたのしっぽインタラクタークラス

type PigsTailInteractor struct {
    // contains filtered or unexported fields
}

### func NewPigsTailInteractor

func NewPigsTailInteractor(pt interfaces.PigsTailGame, ptp presenter.PigsTailPresenter) *PigsTailInteractor

NewPigsTailInteractor コンストラクタ

### func RestorePigsTailInteractor

func RestorePigsTailInteractor(data []byte, ptp presenter.PigsTailPresenter) (*PigsTailInteractor, error)

RestorePigsTailInteractor deserialises JSON into a PigsTailInteractor.

### func (*PigsTailInteractor) Action

func (pi *PigsTailInteractor) Action(actionIdx int) string

Action 人間プレイヤーのアクション (山札から1枚引く)

### func (*PigsTailInteractor) ActionLog

func (pi *PigsTailInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*PigsTailInteractor) GetConfig

func (pi *PigsTailInteractor) GetConfig() domain.PigsTailConfig

GetConfig 現在の設定を返す

### func (*PigsTailInteractor) Reset

func (pi *PigsTailInteractor) Reset(config domain.PigsTailConfig) string

Reset ゲーム初期化

## type PigsTailInteractorIF

PigsTailInteractorIF ぶたのしっぽインタラクターインタフェース

type PigsTailInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset(config domain.PigsTailConfig) string
    // GetConfig 現在の設定を返す
    GetConfig() domain.PigsTailConfig
    // Action 人間プレイヤーのアクション (山札から1枚引く)
    Action(actionIdx int) string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type PineappleInteractor

PineappleInteractor パイナップルポーカーインタラクタークラス

type PineappleInteractor struct {
    // contains filtered or unexported fields
}

### func NewPineappleInteractor

func NewPineappleInteractor(p interfaces.PineappleGame, pp presenter.PineapplePresenter) *PineappleInteractor

NewPineappleInteractor コンストラクタ

### func RestorePineappleInteractor

func RestorePineappleInteractor(data []byte, pp presenter.PineapplePresenter) (*PineappleInteractor, error)

RestorePineappleInteractor deserialises JSON into a PineappleInteractor.

### func (*PineappleInteractor) Action

func (pi *PineappleInteractor) Action(action int, amount int, humanPlayMs int) string

Action プレイヤーアクション実行

### func (*PineappleInteractor) ActionLog

func (pi *PineappleInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*PineappleInteractor) Discard

func (pi *PineappleInteractor) Discard(cardIdx int) string

Discard ディスカード実行

### func (*PineappleInteractor) GetConfig

func (pi *PineappleInteractor) GetConfig() domain.PineappleConfig

GetConfig 現在の設定を取得

### func (*PineappleInteractor) Reset

func (pi *PineappleInteractor) Reset() string

Reset ゲーム初期化

### func (*PineappleInteractor) ResetWithConfig

func (pi *PineappleInteractor) ResetWithConfig(cfg domain.PineappleConfig, profileData []byte) string

ResetWithConfig 設定を変更してゲーム初期化

## type PineappleInteractorIF

PineappleInteractorIF パイナップルポーカーインタラクターインタフェース

type PineappleInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    TournamentInteractorIF
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化 (profileData: JSONプロファイル、nilなら無視)
    ResetWithConfig(cfg domain.PineappleConfig, profileData []byte) string
    // Action プレイヤーアクション実行
    Action(action int, amount int, humanPlayMs int) string
    // Discard ディスカード実行
    Discard(cardIdx int) string
    // GetConfig 現在の設定を取得
    GetConfig() domain.PineappleConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type PinochleInteractor

PinochleInteractor ピノクルインタラクタークラス

type PinochleInteractor struct {
    // contains filtered or unexported fields
}

### func NewPinochleInteractor

func NewPinochleInteractor(p interfaces.PinochleGame, pp presenter.PinochlePresenter) *PinochleInteractor

NewPinochleInteractor コンストラクタ

### func RestorePinochleInteractor

func RestorePinochleInteractor(data []byte, pp presenter.PinochlePresenter) (*PinochleInteractor, error)

RestorePinochleInteractor deserialises JSON into a PinochleInteractor.

### func (*PinochleInteractor) ActionLog

func (pi *PinochleInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*PinochleInteractor) Bid

func (pi *PinochleInteractor) Bid(amount int) string

Bid ビッドする

### func (*PinochleInteractor) CallTrump

func (pi *PinochleInteractor) CallTrump(suit int) string

CallTrump トランプスートを宣言する

### func (*PinochleInteractor) ConfirmMelds

func (pi *PinochleInteractor) ConfirmMelds() string

ConfirmMelds メルドを確認してプレイフェーズに進む

### func (*PinochleInteractor) GetConfig

func (pi *PinochleInteractor) GetConfig() domain.PinochleConfig

GetConfig 現在の設定を取得

### func (*PinochleInteractor) Hint

func (pi *PinochleInteractor) Hint() string

Hint ヒント取得

### func (*PinochleInteractor) NextRound

func (pi *PinochleInteractor) NextRound() string

NextRound 次のラウンドへ進む

### func (*PinochleInteractor) NextTrick

func (pi *PinochleInteractor) NextTrick() string

NextTrick 次のトリックへ進む

### func (*PinochleInteractor) Pass

func (pi *PinochleInteractor) Pass() string

Pass パスする

### func (*PinochleInteractor) Play

func (pi *PinochleInteractor) Play(cardIndex int) string

Play カードをプレイ

### func (*PinochleInteractor) Reset

func (pi *PinochleInteractor) Reset() string

Reset ゲーム初期化

### func (*PinochleInteractor) ResetWithConfig

func (pi *PinochleInteractor) ResetWithConfig(cfg domain.PinochleConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type PinochleInteractorIF

PinochleInteractorIF ピノクルインタラクターインタフェース

type PinochleInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.PinochleConfig) string
    // Bid ビッドする
    Bid(amount int) string
    // Pass パスする
    Pass() string
    // CallTrump トランプスートを宣言する
    CallTrump(suit int) string
    // ConfirmMelds メルドを確認
    ConfirmMelds() string
    // Play カードをプレイ
    Play(cardIndex int) string
    // NextTrick 次のトリックへ進む
    NextTrick() string
    // NextRound 次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.PinochleConfig
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type PokerInteractor

PokerInteractor ポーカーインタラクタークラス

type PokerInteractor struct {
    // contains filtered or unexported fields
}

### func NewPokerInteractor

func NewPokerInteractor(p interfaces.PokerGame, pp presenter.PokerPresenter) *PokerInteractor

NewPokerInteractor コンストラクタ

### func RestorePokerInteractor

func RestorePokerInteractor(data []byte, pp presenter.PokerPresenter) (*PokerInteractor, error)

RestorePokerInteractor deserialises JSON into a PokerInteractor.

### func (*PokerInteractor) Action

func (pi *PokerInteractor) Action(action int, amount int, humanPlayMs int) string

Action プレイヤーアクション実行

### func (*PokerInteractor) ActionLog

func (pi *PokerInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*PokerInteractor) Exchange

func (pi *PokerInteractor) Exchange(indices []int) string

Exchange カード交換

### func (*PokerInteractor) GetConfig

func (pi *PokerInteractor) GetConfig() domain.PokerConfig

GetConfig 現在の設定を取得

### func (*PokerInteractor) Odds

func (pi *PokerInteractor) Odds(indices []int) string

Odds ドローオッズ計算

### func (*PokerInteractor) Reset

func (pi *PokerInteractor) Reset() string

Reset ゲーム初期化

### func (*PokerInteractor) ResetWithConfig

func (pi *PokerInteractor) ResetWithConfig(cfg domain.PokerConfig, profileData []byte) string

ResetWithConfig 設定を変更してゲーム初期化

### func (*PokerInteractor) Stand

func (pi *PokerInteractor) Stand() string

Stand カード交換なし

## type PokerInteractorIF

PokerInteractorIF ポーカーインタラクターインタフェース

type PokerInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化 (profileData: JSONプロファイル、nilなら無視)
    ResetWithConfig(cfg domain.PokerConfig, profileData []byte) string
    // GetConfig 現在の設定を取得
    GetConfig() domain.PokerConfig
    // Action プレイヤーアクション実行
    Action(action int, amount int, humanPlayMs int) string
    // Exchange カード交換
    Exchange(indices []int) string
    // Stand カード交換なし
    Stand() string
    // Odds ドローオッズ計算
    Odds(indices []int) string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type PyramidInteractor

PyramidInteractor ピラミッドインタラクタークラス

type PyramidInteractor struct {
    // contains filtered or unexported fields
}

### func NewPyramidInteractor

func NewPyramidInteractor(p interfaces.PyramidGame, pp presenter.PyramidPresenter) *PyramidInteractor

NewPyramidInteractor コンストラクタ

### func RestorePyramidInteractor

func RestorePyramidInteractor(data []byte, pp presenter.PyramidPresenter) (*PyramidInteractor, error)

RestorePyramidInteractor deserialises JSON into a PyramidInteractor.

### func (*PyramidInteractor) ActionLog

func (pi *PyramidInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*PyramidInteractor) Draw

func (pi *PyramidInteractor) Draw() string

Draw ストックからウェイストにカードを引く

### func (*PyramidInteractor) GiveUp

func (pi *PyramidInteractor) GiveUp() string

GiveUp ギブアップ

### func (*PyramidInteractor) Hint

func (pi *PyramidInteractor) Hint() string

Hint ヒント取得

### func (*PyramidInteractor) RemoveKing

func (pi *PyramidInteractor) RemoveKing(row, col int) string

RemoveKing ピラミッド上のKを単独除去

### func (*PyramidInteractor) RemovePair

func (pi *PyramidInteractor) RemovePair(row1, col1, row2, col2 int) string

RemovePair ピラミッド上の2枚を合計13で除去

### func (*PyramidInteractor) RemoveWasteKing

func (pi *PyramidInteractor) RemoveWasteKing() string

RemoveWasteKing ウェイストのK除去

### func (*PyramidInteractor) RemoveWithWaste

func (pi *PyramidInteractor) RemoveWithWaste(row, col int) string

RemoveWithWaste ウェイストとピラミッドのペア除去

### func (*PyramidInteractor) Reset

func (pi *PyramidInteractor) Reset() string

Reset ゲーム初期化

### func (*PyramidInteractor) Undo

func (pi *PyramidInteractor) Undo() string

Undo アンドゥ

### func (*PyramidInteractor) UndoN

func (pi *PyramidInteractor) UndoN(n int) string

UndoN n回連続アンドゥ

## type PyramidInteractorIF

PyramidInteractorIF ピラミッドインタラクターインタフェース

type PyramidInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // Draw ストックからウェイストにカードを引く
    Draw() string
    // RemovePair ピラミッド上の2枚を合計13で除去
    RemovePair(row1, col1, row2, col2 int) string
    // RemoveKing ピラミッド上のKを単独除去
    RemoveKing(row, col int) string
    // RemoveWithWaste ウェイストとピラミッドのペア除去
    RemoveWithWaste(row, col int) string
    // RemoveWasteKing ウェイストのK除去
    RemoveWasteKing() string
    // GiveUp ギブアップ
    GiveUp() string
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
    // Undo アンドゥ
    Undo() string
    // UndoN n回連続アンドゥ
    UndoN(n int) string
}

## type SevenCardStudInteractor

SevenCardStudInteractor セブンカードスタッドインタラクタークラス

type SevenCardStudInteractor struct {
    // contains filtered or unexported fields
}

### func NewSevenCardStudInteractor

func NewSevenCardStudInteractor(s interfaces.SevenCardStudGame, sp presenter.SevenCardStudPresenter) *SevenCardStudInteractor

NewSevenCardStudInteractor コンストラクタ

### func RestoreSevenCardStudInteractor

func RestoreSevenCardStudInteractor(data []byte, sp presenter.SevenCardStudPresenter) (*SevenCardStudInteractor, error)

RestoreSevenCardStudInteractor deserialises JSON into a SevenCardStudInteractor.

### func (*SevenCardStudInteractor) Action

func (si *SevenCardStudInteractor) Action(action int, amount int, humanPlayMs int) string

Action プレイヤーアクション実行

### func (*SevenCardStudInteractor) ActionLog

func (si *SevenCardStudInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*SevenCardStudInteractor) GetConfig

func (si *SevenCardStudInteractor) GetConfig() domain.SevenCardStudConfig

GetConfig 現在の設定を取得

### func (*SevenCardStudInteractor) Reset

func (si *SevenCardStudInteractor) Reset() string

Reset ゲーム初期化

### func (*SevenCardStudInteractor) ResetWithConfig

func (si *SevenCardStudInteractor) ResetWithConfig(cfg domain.SevenCardStudConfig, profileData []byte) string

ResetWithConfig 設定を変更してゲーム初期化

## type SevenCardStudInteractorIF

SevenCardStudInteractorIF セブンカードスタッドインタラクターインタフェース

type SevenCardStudInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    TournamentInteractorIF
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.SevenCardStudConfig, profileData []byte) string
    // Action プレイヤーアクション実行
    Action(action int, amount int, humanPlayMs int) string
    // GetConfig 現在の設定を取得
    GetConfig() domain.SevenCardStudConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type SevensInteractor

SevensInteractor 7並べインタラクタークラス

type SevensInteractor struct {
    // contains filtered or unexported fields
}

### func NewSevensInteractor

func NewSevensInteractor(s interfaces.SevensGame, sp presenter.SevensPresenter) *SevensInteractor

NewSevensInteractor コンストラクタ

### func RestoreSevensInteractor

func RestoreSevensInteractor(data []byte, sp presenter.SevensPresenter) (*SevensInteractor, error)

RestoreSevensInteractor deserialises JSON into a SevensInteractor.

### func (*SevensInteractor) ActionLog

func (si *SevensInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*SevensInteractor) Play

func (si *SevensInteractor) Play(idx int) string

Play 人間プレイヤーがカードを出す (または パスする) idx: 出すカードのインデックス。-1 の場合はパス。

### func (*SevensInteractor) PlayJoker

func (si *SevensInteractor) PlayJoker(cardIdx, targetSuit, targetValue int) string

PlayJoker 人間プレイヤーがジョーカーを指定ポジションに出す

### func (*SevensInteractor) Reset

func (si *SevensInteractor) Reset() string

Reset ゲーム初期化

### func (*SevensInteractor) ResetWithConfig

func (si *SevensInteractor) ResetWithConfig(cfg domain.SevensConfig) string

ResetWithConfig 設定付きゲーム初期化

## type SevensInteractorIF

SevensInteractorIF 7並べインタラクターインタフェース

type SevensInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定付きゲーム初期化
    ResetWithConfig(cfg domain.SevensConfig) string
    // Play 人間プレイヤーがカードを出す (または パスする)
    Play(idx int) string
    // PlayJoker 人間プレイヤーがジョーカーを指定ポジションに出す
    PlayJoker(cardIdx, targetSuit, targetValue int) string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type ShortDeckInteractor

ShortDeckInteractor ショートデックホールデムインタラクタークラス

type ShortDeckInteractor struct {
    // contains filtered or unexported fields
}

### func NewShortDeckInteractor

func NewShortDeckInteractor(o interfaces.ShortDeckGame, op presenter.ShortDeckPresenter) *ShortDeckInteractor

NewShortDeckInteractor コンストラクタ

### func RestoreShortDeckInteractor

func RestoreShortDeckInteractor(data []byte, op presenter.ShortDeckPresenter) (*ShortDeckInteractor, error)

RestoreShortDeckInteractor deserialises JSON into a ShortDeckInteractor.

### func (*ShortDeckInteractor) Action

func (oi *ShortDeckInteractor) Action(action int, amount int, humanPlayMs int) string

Action プレイヤーアクション実行

### func (*ShortDeckInteractor) ActionLog

func (oi *ShortDeckInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*ShortDeckInteractor) GetConfig

func (oi *ShortDeckInteractor) GetConfig() domain.ShortDeckConfig

GetConfig 現在の設定を取得

### func (*ShortDeckInteractor) Reset

func (oi *ShortDeckInteractor) Reset() string

Reset ゲーム初期化

### func (*ShortDeckInteractor) ResetWithConfig

func (oi *ShortDeckInteractor) ResetWithConfig(cfg domain.ShortDeckConfig, profileData []byte) string

ResetWithConfig 設定を変更してゲーム初期化

## type ShortDeckInteractorIF

ShortDeckInteractorIF ショートデックホールデムインタラクターインタフェース

type ShortDeckInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    TournamentInteractorIF
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化 (profileData: JSONプロファイル、nilなら無視)
    ResetWithConfig(cfg domain.ShortDeckConfig, profileData []byte) string
    // Action プレイヤーアクション実行
    Action(action int, amount int, humanPlayMs int) string
    // GetConfig 現在の設定を取得
    GetConfig() domain.ShortDeckConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type SpadesInteractor

SpadesInteractor スペードインタラクタークラス

type SpadesInteractor struct {
    // contains filtered or unexported fields
}

### func NewSpadesInteractor

func NewSpadesInteractor(s interfaces.SpadesGame, sp presenter.SpadesPresenter) *SpadesInteractor

NewSpadesInteractor コンストラクタ

### func RestoreSpadesInteractor

func RestoreSpadesInteractor(data []byte, sp presenter.SpadesPresenter) (*SpadesInteractor, error)

RestoreSpadesInteractor deserialises JSON into a SpadesInteractor.

### func (*SpadesInteractor) ActionLog

func (si *SpadesInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*SpadesInteractor) Bid

func (si *SpadesInteractor) Bid(bid int) string

Bid ビッドを宣言

### func (*SpadesInteractor) GetConfig

func (si *SpadesInteractor) GetConfig() domain.SpadesConfig

GetConfig 現在の設定を取得

### func (*SpadesInteractor) Hint

func (si *SpadesInteractor) Hint() string

Hint ヒント取得

### func (*SpadesInteractor) NextRound

func (si *SpadesInteractor) NextRound() string

NextRound ラウンドをスコアリングして次のラウンドへ進む

### func (*SpadesInteractor) NextTrick

func (si *SpadesInteractor) NextTrick() string

NextTrick 次のトリックへ進む

### func (*SpadesInteractor) Play

func (si *SpadesInteractor) Play(cardIndex int) string

Play カードをプレイ

### func (*SpadesInteractor) Reset

func (si *SpadesInteractor) Reset() string

Reset ゲーム初期化

### func (*SpadesInteractor) ResetWithConfig

func (si *SpadesInteractor) ResetWithConfig(cfg domain.SpadesConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type SpadesInteractorIF

SpadesInteractorIF スペードインタラクターインタフェース

type SpadesInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.SpadesConfig) string
    // Bid ビッドを宣言
    Bid(bid int) string
    // Play カードをプレイ
    Play(cardIndex int) string
    // NextTrick 次のトリックへ進む
    NextTrick() string
    // NextRound ラウンドをスコアリングして次のラウンドへ進む
    NextRound() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.SpadesConfig
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type SpeedInteractor

SpeedInteractor スピードインタラクタークラス

type SpeedInteractor struct {
    // contains filtered or unexported fields
}

### func NewSpeedInteractor

func NewSpeedInteractor(s interfaces.SpeedGame, sp presenter.SpeedPresenter) *SpeedInteractor

NewSpeedInteractor コンストラクタ

### func RestoreSpeedInteractor

func RestoreSpeedInteractor(data []byte, sp presenter.SpeedPresenter) (*SpeedInteractor, error)

RestoreSpeedInteractor deserialises JSON into a SpeedInteractor.

### func (*SpeedInteractor) ActionLog

func (si *SpeedInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*SpeedInteractor) Flip

func (si *SpeedInteractor) Flip() string

Flip 膠着時に台札をめくる

### func (*SpeedInteractor) GetConfig

func (si *SpeedInteractor) GetConfig() domain.SpeedConfig

GetConfig 現在の設定を取得

### func (*SpeedInteractor) Hint

func (si *SpeedInteractor) Hint() string

Hint ヒントを取得する

### func (*SpeedInteractor) Play

func (si *SpeedInteractor) Play(cardIndex, pileIndex int) string

Play 人間プレイヤーがカードを出す、その後CPUが自動応答する

### func (*SpeedInteractor) Reset

func (si *SpeedInteractor) Reset() string

Reset ゲーム初期化

### func (*SpeedInteractor) ResetWithConfig

func (si *SpeedInteractor) ResetWithConfig(cfg domain.SpeedConfig) string

ResetWithConfig 設定を変更してゲーム初期化

## type SpeedInteractorIF

SpeedInteractorIF スピードインタラクターインタフェース

type SpeedInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定を変更してゲーム初期化
    ResetWithConfig(cfg domain.SpeedConfig) string
    // Play 人間プレイヤーがカードを出す
    Play(cardIndex, pileIndex int) string
    // Flip 膠着時に台札をめくる
    Flip() string
    // Hint ヒントを取得する
    Hint() string
    // GetConfig 現在の設定を取得
    GetConfig() domain.SpeedConfig
    // ActionLog 棋譜を出力する
    ActionLog() string
}

## type SpiderInteractor

SpiderInteractor スパイダーソリティアインタラクタークラス

type SpiderInteractor struct {
    // contains filtered or unexported fields
}

### func NewSpiderInteractor

func NewSpiderInteractor(s interfaces.SpiderGame, sp presenter.SpiderPresenter) *SpiderInteractor

NewSpiderInteractor コンストラクタ

### func RestoreSpiderInteractor

func RestoreSpiderInteractor(data []byte, sp presenter.SpiderPresenter) (*SpiderInteractor, error)

RestoreSpiderInteractor deserialises JSON into a SpiderInteractor.

### func (*SpiderInteractor) ActionLog

func (si *SpiderInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*SpiderInteractor) AutoComplete

func (si *SpiderInteractor) AutoComplete() string

AutoComplete オートコンプリート

### func (*SpiderInteractor) Deal

func (si *SpiderInteractor) Deal() string

Deal ストックからタブローに配る

### func (*SpiderInteractor) GiveUp

func (si *SpiderInteractor) GiveUp() string

GiveUp ギブアップ

### func (*SpiderInteractor) Hint

func (si *SpiderInteractor) Hint() string

Hint ヒント取得

### func (*SpiderInteractor) MoveTableauToTableau

func (si *SpiderInteractor) MoveTableauToTableau(fromCol, cardIndex, toCol int) string

MoveTableauToTableau タブロー間でカードを移動

### func (*SpiderInteractor) Reset

func (si *SpiderInteractor) Reset() string

Reset ゲーム初期化

### func (*SpiderInteractor) ResetWithConfig

func (si *SpiderInteractor) ResetWithConfig(cfg domain.SpiderConfig) string

ResetWithConfig 設定付きリセット

### func (*SpiderInteractor) Undo

func (si *SpiderInteractor) Undo() string

Undo アンドゥ

### func (*SpiderInteractor) UndoN

func (si *SpiderInteractor) UndoN(n int) string

UndoN n回連続アンドゥ

## type SpiderInteractorIF

SpiderInteractorIF スパイダーソリティアインタラクターインタフェース

type SpiderInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // ResetWithConfig 設定付きリセット
    ResetWithConfig(cfg domain.SpiderConfig) string
    // Deal ストックからタブローに配る
    Deal() string
    // MoveTableauToTableau タブロー間でカードを移動
    MoveTableauToTableau(fromCol, cardIndex, toCol int) string
    // GiveUp ギブアップ
    GiveUp() string
    // Hint ヒント取得
    Hint() string
    // AutoComplete オートコンプリート
    AutoComplete() string
    // ActionLog 棋譜を出力する
    ActionLog() string
    // Undo アンドゥ
    Undo() string
    // UndoN n回連続アンドゥ
    UndoN(n int) string
}

## type ThreeCardInteractor

ThreeCardInteractor スリーカードポーカーインタラクタークラス

type ThreeCardInteractor struct {
    // contains filtered or unexported fields
}

### func NewThreeCardInteractor

func NewThreeCardInteractor(tc interfaces.ThreeCardGame, tp presenter.ThreeCardPresenter) *ThreeCardInteractor

NewThreeCardInteractor コンストラクタ

### func RestoreThreeCardInteractor

func RestoreThreeCardInteractor(data []byte, tp presenter.ThreeCardPresenter) (*ThreeCardInteractor, error)

RestoreThreeCardInteractor deserialises JSON into a ThreeCardInteractor.

### func (*ThreeCardInteractor) ActionLog

func (ti *ThreeCardInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*ThreeCardInteractor) Bet

func (ti *ThreeCardInteractor) Bet(ante, pairPlus int) string

Bet アンテベット

### func (*ThreeCardInteractor) Fold

func (ti *ThreeCardInteractor) Fold() string

Fold フォールド

### func (*ThreeCardInteractor) Play

func (ti *ThreeCardInteractor) Play() string

Play プレイ

### func (*ThreeCardInteractor) Reset

func (ti *ThreeCardInteractor) Reset() string

Reset ゲーム初期化

## type ThreeCardInteractorIF

ThreeCardInteractorIF スリーカードポーカーインタラクターインタフェース

type ThreeCardInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // Bet アンテベット
    Bet(ante, pairPlus int) string
    // Play プレイ
    Play() string
    // Fold フォールド
    Fold() string
    // ActionLog 棋��を出力する
    ActionLog() string
}

## type TournamentInteractorIF

TournamentInteractorIF トーナメントアクション共通インタラクターインタフェース リバイ・アドオン・マック・ハンド公開の委譲メソッドを定義する。

type TournamentInteractorIF interface {
    // Rebuy リバイ実行
    Rebuy() string
    // SkipRebuy リバイ辞退
    SkipRebuy() string
    // Addon アドオン実行
    Addon() string
    // SkipAddon アドオン辞退
    SkipAddon() string
    // Muck マック (ハンドを伏せる)
    Muck() string
    // ShowHand ハンドを公開する
    ShowHand() string
}

## type TriPeaksInteractor

TriPeaksInteractor トリピークスインタラクタークラス

type TriPeaksInteractor struct {
    // contains filtered or unexported fields
}

### func NewTriPeaksInteractor

func NewTriPeaksInteractor(t interfaces.TriPeaksGame, tp presenter.TriPeaksPresenter) *TriPeaksInteractor

NewTriPeaksInteractor コンストラクタ

### func RestoreTriPeaksInteractor

func RestoreTriPeaksInteractor(data []byte, tp presenter.TriPeaksPresenter) (*TriPeaksInteractor, error)

RestoreTriPeaksInteractor deserialises JSON into a TriPeaksInteractor.

### func (*TriPeaksInteractor) ActionLog

func (ti *TriPeaksInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*TriPeaksInteractor) Draw

func (ti *TriPeaksInteractor) Draw() string

Draw ストックからウェイストにカードを引く

### func (*TriPeaksInteractor) GiveUp

func (ti *TriPeaksInteractor) GiveUp() string

GiveUp ギブアップ

### func (*TriPeaksInteractor) Hint

func (ti *TriPeaksInteractor) Hint() string

Hint ヒント取得

### func (*TriPeaksInteractor) Remove

func (ti *TriPeaksInteractor) Remove(row, col int) string

Remove タブローのカードを除去

### func (*TriPeaksInteractor) Reset

func (ti *TriPeaksInteractor) Reset() string

Reset ゲーム初期化

### func (*TriPeaksInteractor) Undo

func (ti *TriPeaksInteractor) Undo() string

Undo アンドゥ

### func (*TriPeaksInteractor) UndoN

func (ti *TriPeaksInteractor) UndoN(n int) string

UndoN n回連続アンドゥ

## type TriPeaksInteractorIF

TriPeaksInteractorIF トリピークスインタラクターインタフェース

type TriPeaksInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // Draw ストックからウェイストにカードを引く
    Draw() string
    // Remove タブローのカードを除去
    Remove(row, col int) string
    // GiveUp ギブアップ
    GiveUp() string
    // Hint ヒント取得
    Hint() string
    // ActionLog 棋譜を出力する
    ActionLog() string
    // Undo アンドゥ
    Undo() string
    // UndoN n回連続アンドゥ
    UndoN(n int) string
}

## type VideoPokerInteractor

VideoPokerInteractor ビデオポーカーインタラクタークラス

type VideoPokerInteractor struct {
    // contains filtered or unexported fields
}

### func NewVideoPokerInteractor

func NewVideoPokerInteractor(vp interfaces.VideoPokerGame, vpp presenter.VideoPokerPresenter) *VideoPokerInteractor

NewVideoPokerInteractor コンストラクタ

### func RestoreVideoPokerInteractor

func RestoreVideoPokerInteractor(data []byte, vpp presenter.VideoPokerPresenter) (*VideoPokerInteractor, error)

RestoreVideoPokerInteractor deserialises JSON into a VideoPokerInteractor.

### func (*VideoPokerInteractor) ActionLog

func (vi *VideoPokerInteractor) ActionLog() string

ActionLog 棋譜を出力する

### func (*VideoPokerInteractor) Bet

func (vi *VideoPokerInteractor) Bet(amount int) string

Bet ベット

### func (*VideoPokerInteractor) Hold

func (vi *VideoPokerInteractor) Hold(indices []int) string

Hold ホールド&ドロー

### func (*VideoPokerInteractor) Reset

func (vi *VideoPokerInteractor) Reset() string

Reset ゲーム初期化

## type VideoPokerInteractorIF

VideoPokerInteractorIF ビデオポーカーインタラクターインタフェース

type VideoPokerInteractorIF interface {
    // Snapshot serialises game state for KV persistence.
    Snapshot() ([]byte, error)
    // Reset ゲーム初期化
    Reset() string
    // Bet ベット
    Bet(amount int) string
    // Hold ホールド&ドロー
    Hold(indices []int) string
    // ActionLog 棋譜を出力する
    ActionLog() string
}

Generated by gomarkdoc