-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCParams.cpp
More file actions
97 lines (83 loc) · 2.65 KB
/
Copy pathCParams.cpp
File metadata and controls
97 lines (83 loc) · 2.65 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include "CParams.h"
// trim from start
static inline std::string <rim(std::string &s) {
s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
return s;
}
// trim from end
static inline std::string &rtrim(std::string &s) {
s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
return s;
}
// trim from both ends
static inline std::string &trim(std::string &s) {
return ltrim(rtrim(s));
}
//because we will always be loading in the settings from an ini file
//we can just initialize everything to zero
double CParams::dPi = 3.14159265358979;
double CParams::dHalfPi = dPi / 2;
double CParams::dTwoPi = dPi * 2;
int CParams::WindowWidth = 400;
int CParams::WindowHeight = 400;
int CParams::iFramesPerSecond = 0;
double CParams::dMaxTurnRate = 0;
double CParams::dMaxSpeed = 0;
int CParams::iSweeperScale = 0;
int CParams::iNumSweepers = 0;
int CParams::iNumMines = 0;
int CParams::iNumSuperMines = 0;
int CParams::iNumRocks = 0;
int CParams::iNumTicks = 0;
double CParams::dMineScale = 0;
int CParams::iNumElite = 0;
int CParams::iNumCopiesElite = 0;
bool CParams::bDiscreteGrid = false;
int CParams::iGridCellDim = 10;
std::string CParams::sTrainingFilename = "training.txt";
//this function loads in the parameters from a given file name. Returns
//false if there is a problem opening the file.
bool CParams::LoadInParameters(char* szFileName)
{
using namespace std;
ifstream grab(szFileName);
//check file exists
if (!grab)
{
return false;
}
//load in from the file
char ParamDescription[40];
grab >> ParamDescription;
grab >> iFramesPerSecond;
grab >> ParamDescription;
grab >> dMaxTurnRate;
grab >> ParamDescription;
grab >> dMaxSpeed;
grab >> ParamDescription;
grab >> iSweeperScale;
grab >> ParamDescription;
grab >> iNumMines;
grab >> ParamDescription;
grab >> iNumSuperMines;
grab >> ParamDescription;
grab >> iNumRocks;
grab >> ParamDescription;
grab >> iNumSweepers;
grab >> ParamDescription;
grab >> iNumTicks;
grab >> ParamDescription;
grab >> dMineScale;
grab >> ParamDescription;
grab >> iNumElite;
grab >> ParamDescription;
grab >> iNumCopiesElite;
grab >> ParamDescription;
grab >> bDiscreteGrid;
grab >> ParamDescription;
grab >> iGridCellDim;
grab >> ParamDescription;
getline(grab,sTrainingFilename);
sTrainingFilename = trim(sTrainingFilename);
return true;
}