996
|
1 // Rail.h
|
|
2
|
|
3 #ifndef RAIL_H_RAIL_1
|
|
4 #define RAIL_H_RAIL_1
|
|
5
|
|
6 #include "Dir.h"
|
|
7
|
|
8 namespace Rail
|
|
9 {
|
|
10 enum t
|
|
11 {
|
|
12 min = 0,
|
|
13 horizontal = 0,
|
|
14 vertical = 1,
|
|
15 ascending = 2,
|
|
16 descending = 3,
|
|
17 junction = 4,
|
|
18 rubble = 5,
|
|
19 max = 5,
|
|
20 count = 6
|
|
21 };
|
|
22
|
|
23 bool isPrimary(t source, t dest, Dir::t current);
|
|
24 bool isLeft(t source, t dest);
|
|
25 bool isRight(t source, t dest);
|
|
26
|
|
27 Dir::t correctDirection(t current, Dir::t oldDir);
|
|
28
|
|
29 t charToRail(char current);
|
|
30 t dirToRail(Dir::t current);
|
|
31 Dir::t railToDirForward(t current);
|
|
32 Dir::t railToDirBackward(t current);
|
|
33 std::string railToString(t current);
|
|
34
|
|
35 void check(t current, std::string const & name);
|
|
36 }
|
|
37
|
|
38 #endif
|