-
Notifications
You must be signed in to change notification settings - Fork 0
/
platform.h
73 lines (61 loc) · 1.01 KB
/
platform.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#pragma once
#include <cstdint>
namespace Simuro {
static const int PLAYERS_PER_SIDE = 5;
static const int MAX_STRING_LEN = 128;
enum EventType {
JudgeResult = 0,
MatchStart = 1,
MatchStop = 2,
FirstHalfStart = 3,
SecondHalfStart = 4,
OvertimeStart = 5,
PenaltyShootoutStart = 6,
};
enum JudgeType
{
PlaceKick = 0,
GoalKick = 1,
PenaltyKick = 2,
FreeKickRightTop = 3,
FreeKickRightBot = 4,
FreeKickLeftTop = 5,
FreeKickLeftBot = 6,
};
enum Team
{
Self,
Opponent,
None,
};
struct Vector2 {
float x;
float y;
};
struct TeamInfo {
wchar_t teamName[MAX_STRING_LEN];
};
struct Ball {
Vector2 position;
};
struct Wheel {
float leftSpeed;
float rightSpeed;
};
struct Robot {
Vector2 position;
float rotation;
Wheel wheel;
};
struct Field {
Robot selfRobots[PLAYERS_PER_SIDE];
Robot opponentRobots[PLAYERS_PER_SIDE];
Ball ball;
int32_t tick;
};
struct JudgeResultEvent {
JudgeType type;
Team actor;
wchar_t reason[MAX_STRING_LEN];
};
}