DigitalCurling3
1.0.0
A curling simulation system for curling AIs
|
#include <i_player_storage.hpp>
Public Member Functions | |
virtual std::unique_ptr< IPlayer > | CreatePlayer () const =0 |
このストレージが持つ状態と同じ状態を持つプレイヤーを生成する More... | |
virtual std::string | GetPlayerId () const =0 |
対応するプレイヤーのプレイヤーIDを得る. More... | |
Protected Member Functions | |
IPlayerStorage (IPlayerStorage const &)=default | |
コピーコンストラクタ.何もコピーしません.サブクラスでのdefault実装をサポートするためのものです. | |
IPlayerStorage & | operator= (IPlayerStorage const &)=default |
コピー代入演算子.何もコピーしません.サブクラスでのdefault実装をサポートするためのものです. | |
IPlayer の状態を保存するストレージ
IPlayer::Load() や IPlayerStorage::CreatePlayer() を用いてストレージから状態を復元した場合, IPlayer は IPlayer::Save() や IPlayer::CreateStorage() を用いてセーブした時点の内部状態を完全に復元します. 言い換えると,あるストレージに保存された状態を復元した後の IPlayer::Play() の呼出し結果は,そのストレージに保存した時点からの IPlayer::Play() の呼出し結果と同じものになります.
ストレージは IPlayer のそれぞれの実装と対応関係にあるため, GetPlayerId() で得られるIDが一致していない場合は保存/復元はできません.
|
pure virtual |
このストレージが持つ状態と同じ状態を持つプレイヤーを生成する
|
pure virtual |
対応するプレイヤーのプレイヤーIDを得る.
プレイヤーIDはプレイヤーの種類ごとに異なる.