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

IPlayer の状態を保存するストレージ More...

#include <i_player_storage.hpp>

Public Member Functions

virtual std::unique_ptr< IPlayerCreatePlayer () const =0
 このストレージが持つ状態と同じ状態を持つプレイヤーを生成する More...
 
virtual std::string GetPlayerId () const =0
 対応するプレイヤーのプレイヤーIDを得る. More...
 

Protected Member Functions

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

Detailed Description

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

IPlayer::Load()IPlayerStorage::CreatePlayer() を用いてストレージから状態を復元した場合, IPlayerIPlayer::Save()IPlayer::CreateStorage() を用いてセーブした時点の内部状態を完全に復元します. 言い換えると,あるストレージに保存された状態を復元した後の IPlayer::Play() の呼出し結果は,そのストレージに保存した時点からの IPlayer::Play() の呼出し結果と同じものになります.

ストレージは IPlayer のそれぞれの実装と対応関係にあるため, GetPlayerId() で得られるIDが一致していない場合は保存/復元はできません.

Member Function Documentation

◆ CreatePlayer()

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

このストレージが持つ状態と同じ状態を持つプレイヤーを生成する

Returns
生成されたプレイヤー

◆ GetPlayerId()

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

対応するプレイヤーのプレイヤーIDを得る.

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

Returns
プレイヤーID

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