DigitalCurling3  1.0.0
A curling simulation system for curling AIs
digitalcurling3::players::PlayerNormalDistFactory Class Reference

ショットの初速に速度上限を適用したのち,初速と角度に正規分布の乱数を加えるプレイヤー More...

#include <player_normal_dist_factory.hpp>

Inheritance diagram for digitalcurling3::players::PlayerNormalDistFactory:
digitalcurling3::IPlayerFactory

Public Member Functions

 PlayerNormalDistFactory ()=default
 デフォルトコンストラクタ
 
 PlayerNormalDistFactory (PlayerNormalDistFactory const &)=default
 コピーコンストラクタ
 
PlayerNormalDistFactoryoperator= (PlayerNormalDistFactory const &)=default
 コピー代入演算子
 
virtual std::unique_ptr< IPlayerCreatePlayer () const override
 プレイヤーを生成する More...
 
virtual std::unique_ptr< IPlayerFactoryClone () const override
 このインスタンスを複製する More...
 
virtual std::string GetPlayerId () const override
 対応するプレイヤーのプレイヤーIDを得る. More...
 

Public Attributes

float max_speed = 4.f
 ショットの最大速度
 
float stddev_speed = 0.0076f
 ショットの初速に加わる正規分布乱数の標準偏差.
 
float stddev_angle = 0.0018f
 ショットの初期角度に加わる正規分布乱数の標準偏差.
 
std::optional< std::random_device::result_type > seed = std::nullopt
 乱数のシード値. More...
 

Additional Inherited Members

- Protected Member Functions inherited from digitalcurling3::IPlayerFactory
 IPlayerFactory (IPlayerFactory const &)=default
 コピーコンストラクタ.何もコピーしません.サブクラスでのdefault実装をサポートするためのものです.
 
IPlayerFactoryoperator= (IPlayerFactory const &)=default
 コピー代入演算子.何もコピーしません.サブクラスでのdefault実装をサポートするためのものです.
 

Detailed Description

ショットの初速に速度上限を適用したのち,初速と角度に正規分布の乱数を加えるプレイヤー

Member Function Documentation

◆ Clone()

virtual std::unique_ptr<IPlayerFactory> digitalcurling3::players::PlayerNormalDistFactory::Clone ( ) const
overridevirtual

このインスタンスを複製する

Returns
複製されたインスタンス

Implements digitalcurling3::IPlayerFactory.

◆ CreatePlayer()

virtual std::unique_ptr<IPlayer> digitalcurling3::players::PlayerNormalDistFactory::CreatePlayer ( ) const
overridevirtual

プレイヤーを生成する

Returns
生成されたプレイヤー

Implements digitalcurling3::IPlayerFactory.

◆ GetPlayerId()

virtual std::string digitalcurling3::players::PlayerNormalDistFactory::GetPlayerId ( ) const
inlineoverridevirtual

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

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

Returns
プレイヤーID

Implements digitalcurling3::IPlayerFactory.

Member Data Documentation

◆ seed

std::optional<std::random_device::result_type> digitalcurling3::players::PlayerNormalDistFactory::seed = std::nullopt

乱数のシード値.

std::nullopt の場合シード値を自動でランダムに選択する.


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