|
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に読み替えてください.