DigitalCurling3
1.0.0
A curling simulation system for curling AIs
game_result.hpp
Go to the documentation of this file.
1
// MIT License
2
//
3
// Copyright (c) 2022 UEC Takeshi Ito Laboratory
4
//
5
// Permission is hereby granted, free of charge, to any person obtaining a copy
6
// of this software and associated documentation files (the "Software"), to deal
7
// in the Software without restriction, including without limitation the rights
8
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
// copies of the Software, and to permit persons to whom the Software is
10
// furnished to do so, subject to the following conditions:
11
//
12
// The above copyright notice and this permission notice shall be included in all
13
// copies or substantial portions of the Software.
14
//
15
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
// SOFTWARE.
22
25
26
#ifndef DIGITALCURLING3_GAME_RESULT_HPP
27
#define DIGITALCURLING3_GAME_RESULT_HPP
28
29
#include <cstdint>
30
#include "
json/common.hpp
"
31
#include "
team.hpp
"
32
33
namespace
digitalcurling3
{
34
35
36
38
struct
GameResult
{
39
41
enum class
Reason
: std::uint8_t {
42
kScore
,
43
kConcede
,
44
kTimeLimit
,
45
kDraw
46
};
47
51
Team
winner
=
Team::kInvalid
;
52
54
Reason
reason
=
Reason::kDraw
;
55
};
56
57
59
// json
60
NLOHMANN_JSON_SERIALIZE_ENUM(
GameResult::Reason
, {
61
{
GameResult::Reason::kScore
,
"score"
},
62
{
GameResult::Reason::kConcede
,
"concede"
},
63
{
GameResult::Reason::kTimeLimit
,
"time_limit"
},
64
{
GameResult::Reason::kDraw
,
"draw"
},
65
})
66
67
NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(
68
GameResult,
69
winner,
70
reason
71
)
73
74
}
// namespace digitalcurling3
75
76
#endif // DIGITALCURLING3_GAME_RESULT_HPP
digitalcurling3::Team
Team
チームを識別するために用いる列挙体です.
Definition:
team.hpp:39
digitalcurling3::GameResult
試合の結果を格納する.
Definition:
game_result.hpp:38
common.hpp
必要なJSON変換関数を定義します
digitalcurling3::GameResult::Reason::kConcede
@ kConcede
コンシードによる勝敗
digitalcurling3::GameResult::winner
Team winner
勝利チーム
Definition:
game_result.hpp:51
digitalcurling3
Digital Curling ライブラリはこの名前空間の中に定義されます
Definition:
polymorphic_json.hpp:37
team.hpp
Team を定義します
digitalcurling3::GameResult::Reason::kTimeLimit
@ kTimeLimit
制限時間超過による勝敗
digitalcurling3::GameResult::Reason::kDraw
@ kDraw
引き分けの際に使用される値
digitalcurling3::Team::kInvalid
@ kInvalid
無効な値
digitalcurling3::GameResult::Reason::kScore
@ kScore
スコアによる勝敗
digitalcurling3::GameResult::reason
Reason reason
勝敗の理由
Definition:
game_result.hpp:54
digitalcurling3::GameResult::Reason
Reason
勝敗が定まった理由
Definition:
game_result.hpp:41
include
digitalcurling3
detail
game_result.hpp
Generated by
1.8.17