-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathgame_support.hpp
72 lines (52 loc) · 1.02 KB
/
game_support.hpp
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
#pragma once
#include "log.hpp"
#include <vector>
#include <array>
using namespace std;
using namespace logp;
enum ConstraintType
{
StructSpring,
ShearSpring,
BendSpring
};
struct Constraint
{
int particleA, particleB;
float restlength;
float restlenghtSqr;
float restlength_init;
int type;
ConstraintType ctype;
float force=0.f;
bool active=false;
bool operator==(const Constraint& rhs) const
{
return (particleA==rhs.particleA and particleB==rhs.particleB) or (particleA==rhs.particleB and particleB==rhs.particleA); // or another approach as above
}
};
enum class Gamemode : int{
wander = 1,
square = 2,
goback = 3,
main = 4,
kill = 5,
gohome = 6
};
enum class Gameturn : char{
left ='l',
right ='r',
none='n'
};
struct Storage
{
Gameturn turn;
Gamemode mode;
int count;
int maxl;
};
struct MapInfo
{
int Fields=0;
int Bands=0;
};