DigitalCurling3  1.0.0
A curling simulation system for curling AIs
digitalcurling3::IPlayer Class Referenceabstract

理想的なショットを与えられた際に,乱数を加えたりしてプレイヤーによるブレを付与する More...

#include <i_player.hpp>

Public Member Functions

virtual moves::Shot Play (moves::Shot const &shot)=0
 ショットを行う. More...
 
virtual std::string GetPlayerId () const =0
 プレイヤーIDを得る. More...
 
virtual IPlayerFactory const & GetFactory () const =0
 ファクトリーを得る More...
 
virtual std::unique_ptr< IPlayerStorageCreateStorage () const =0
 ストレージを生成する More...
 
virtual void Save (IPlayerStorage &storage) const =0
 ストレージに状態を保存する More...
 
virtual void Load (IPlayerStorage const &storage)=0
 ストレージから状態を復元する More...
 

Protected Member Functions

 IPlayer (IPlayer const &)=default
 コピーコンストラクタ.何もコピーしません.サブクラスでのdefault実装をサポートするためのものです.
 
IPlayeroperator= (IPlayer const &)=default
 コピー代入演算子.何もコピーしません.サブクラスでのdefault実装をサポートするためのものです.
 

Detailed Description

理想的なショットを与えられた際に,乱数を加えたりしてプレイヤーによるブレを付与する

IPlayerStorage を用いて内部状態を保存/復元することができます. 状態の保存には IPlayer::CreateStorage() または IPlayer::Save() を, 状態の復元には IPlayerStorage::CreatePlayer() または IPlayer::Load() を使用します.

Member Function Documentation

◆ CreateStorage()

virtual std::unique_ptr<IPlayerStorage> digitalcurling3::IPlayer::CreateStorage ( ) const
pure virtual

ストレージを生成する

Returns
新たに生成されたストレージ

◆ GetFactory()

virtual IPlayerFactory const& digitalcurling3::IPlayer::GetFactory ( ) const
pure virtual

ファクトリーを得る

得られたファクトリーはこの IPlayer インスタンスを生成した IPlayerFactory インスタンスよりも 詳細な情報を持っている可能性があります(例: インスタンスを生成した IPlayerFactory の シード値が未指定であっても, GetFactory() の返り値ではシード値が補完されている.など). 得られた IPlayerFactory から IPlayer を生成することで,同じ初期条件のプレイヤーを得ることができます.

Returns
ファクトリー

◆ GetPlayerId()

virtual std::string digitalcurling3::IPlayer::GetPlayerId ( ) const
pure virtual

プレイヤーIDを得る.

プレイヤーIDはプレイヤーの種類ごとに異なる.

Returns
プレイヤーID

◆ Load()

virtual void digitalcurling3::IPlayer::Load ( IPlayerStorage const &  storage)
pure virtual

ストレージから状態を復元する

Parameters
[in]storageストレージ

◆ Play()

virtual moves::Shot digitalcurling3::IPlayer::Play ( moves::Shot const &  shot)
pure virtual

ショットを行う.

Parameters
[in]shot理想的なショット
Returns
プレイヤーによってプレイされたショット

◆ Save()

virtual void digitalcurling3::IPlayer::Save ( IPlayerStorage storage) const
pure virtual

ストレージに状態を保存する

Parameters
[out]storageストレージ

The documentation for this class was generated from the following file: