DigitalCurling3
1.0.0
A curling simulation system for curling AIs
|
ここでは新しい物理シミュレータや新しいプレイヤーを追加する方法を説明します.
to_json
, from_json
関数を定義します. これらの関数の詳細については nlohmann/json を参照してください. ⚠ 両クラスとも変換するJSONのタイプはオブジェクトとし,必ず "type"
に シミュレータ識別名 を設定してください. シミュレータ識別名は GetSimulatorId
関数の返り値と一致させるのが望ましいです.polymorphic_json::Register<ISimulatorFactory, 作成したファクトリクラス>(シミュレータ識別名);
及び polymorphic_json::Register<ISimulatorStorage, 作成したストレージクラス>(シミュレータ識別名);
のような呼出しを行うことで,インターフェースを介したJSON変換の登録を行えます.polymorphic_json::Register()の呼出しはJSONの変換を行う前に各クラスに対し1回だけ行います.src/i_simulator_factory.cpp
,src/i_simulator_storage.cpp
の該当箇所を編集します. 編集方法は該当ファイルを参照してください.シミュレータの追加方法と根本的に違いはありません. 物理シミュレータの追加方法のISimulator
,ISimulatorFactory
,ISimulatorStorage
をそれぞれIPlayer
,IPlayerFactory
,IPlayerStorage
に読み替えてください.