-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUtils.cpp
More file actions
executable file
·72 lines (65 loc) · 1.61 KB
/
Utils.cpp
File metadata and controls
executable file
·72 lines (65 loc) · 1.61 KB
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
#include "Utils.h"
TileType charToTileType(char c)
{
TileType result = NOTILE;
if (c == 'R') result = RED;
else if (c == 'Y') result = YELLOW;
else if (c == 'B') result = DARKBLUE;
else if (c == 'L') result = LIGTHBLUE;
else if (c == 'U') result = BLACK;
else if (c == 'F') result = FIRSTPLAYER;
else if (c == '.') result = NOTILE;
return result;
}
bool selectableTile(char c)
{
bool selectable = false;
selectable |= c == 'R';
selectable |= c == 'Y';
selectable |= c == 'B';
selectable |= c == 'L';
selectable |= c == 'U';
return selectable;
}
bool selectableTile(TileType tile)
{
return tile != NOTILE && tile != FIRSTPLAYER;
}
bool validTile(char c)
{
bool validTile = false;
validTile |= c == 'R';
validTile |= c == 'Y';
validTile |= c == 'B';
validTile |= c == 'L';
validTile |= c == 'U';
validTile |= c == 'F';
validTile |= c == '.';
return validTile;
}
char tileTypeToLower(TileType tileType)
{
char result = '\0';
if (tileType == RED) result = 'r';
else if (tileType == YELLOW) result = 'y';
else if (tileType == DARKBLUE) result = 'b';
else if (tileType == LIGTHBLUE) result = 'l';
else if (tileType == BLACK) result = 'u';
else result = char(tileType);
return result;
}
bool isNotWhiteSpace(const std::string str)
{
bool isWhiteSpace = true;
std::istringstream ss(str);
char c = '\0';
while (isWhiteSpace && ss.get(c))
{
isWhiteSpace = std::isspace(c);
}
return !isWhiteSpace;
}
bool isWhiteSpace(const std::string str)
{
return !isNotWhiteSpace(str);
}