|
DigitalCurling3
1.0.0
A curling simulation system for curling AIs
|
Go to the documentation of this file.
26 #ifndef DIGITALCURLING3_GAME_STATE_HPP
27 #define DIGITALCURLING3_GAME_STATE_HPP
64 std::array<std::optional<Transform>,
kShotPerEnd / 2>,
135 std::vector<std::optional<std::uint8_t>>,
214 void to_json(nlohmann::json &, GameState
const&);
215 void from_json(nlohmann::json
const&, GameState &);
220 #endif // DIGITALCURLING3_GAME_STATE_HPP
std::uint8_t shot
現在のショット番号.0以上,15以下.
Definition: game_state.hpp:103
std::array< std::array< std::optional< Transform >, kShotPerEnd/2 >, 2 > Stones
各チームのストーンの位置と角度を格納します
Definition: game_state.hpp:65
Team
チームを識別するために用いる列挙体です.
Definition: team.hpp:39
試合設定
Definition: game_setting.hpp:37
bool IsGameOver() const
ゲームが終了しているかを調べる
Definition: game_state.hpp:178
試合の状態を表す
Definition: game_state.hpp:53
static size_t StonesIndexToAllStonesIndex(Team team, size_t team_stone_index)
GameState::Stones のインデックスから ISimulator::AllStones のインデックスに変換する.
static constexpr size_t kShotPerEnd
エンド毎のショット数
Definition: game_state.hpp:59
static Stones StonesFromAllStones(ISimulator::AllStones const &all_stones, std::uint8_t end)
ISimulator::AllStones から GameState::Stones へ変換する.
std::array< std::optional< Stone >, kStoneMax > AllStones
全ストーンの位置と速度
Definition: i_simulator.hpp:97
Team GetNextTeam() const
次に行動するチームを得る.
std::uint8_t end
現在のエンド.
Definition: game_state.hpp:100
std::array< std::optional< std::uint8_t >, 2 > extra_end_score
エクストラエンド(延長戦)のスコア.
Definition: game_state.hpp:149
std::uint32_t GetTotalScore(Team team) const
チームの現在までの合計スコアを得る
static std::pair< Team, size_t > StonesIndexFromAllStonesIndex(size_t all_stones_index)
ISimulator::AllStones のインデックスから GameState::Stones のインデックスに変換する.
Digital Curling ライブラリはこの名前空間の中に定義されます
Definition: polymorphic_json.hpp:37
std::optional< GameResult > game_result
試合結果
Definition: game_state.hpp:159
Team hammer
現在のエンドのハンマー(後攻).
Definition: game_state.hpp:108
static constexpr std::uint8_t kExtraEndMax
延長戦を含めたエンド数の最大値 ( GameState::end >= kExtraEndMax のときは無効なエンドを表します)
Definition: game_state.hpp:56
GameState & operator=(GameState const &)=default
コピーする
std::array< std::chrono::milliseconds, 2 > thinking_time_remaining
各チームの残り思考時間
Definition: game_state.hpp:154
Stones stones
各チームのストーンの位置と角度
Definition: game_state.hpp:121
std::array< std::vector< std::optional< std::uint8_t > >, 2 > scores
各エンドのスコアを格納する
Definition: game_state.hpp:136
static ISimulator::AllStones StonesToAllStones(Stones const &stones, std::uint8_t end)
GameState::Stones から ISimulator::AllStones へ変換する.