-
Notifications
You must be signed in to change notification settings - Fork 0
/
routes.cpp
84 lines (60 loc) · 1.02 KB
/
routes.cpp
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
#include "routes.h"
#include <fstream>
#include "vehicles.h"
void route::Progress(double time)
{
now += time;
while (now > interv)
{
now -= interv;
LaunchVehicle();
}
}
void route::LaunchVehicle()
{
v->Add(vM, bL);
}
void routes::Init(const char *filename, vehicles *v0)
//void routes::Init(const char *filename)
{
v = v0;
Read(filename);
}
void routes::Read(const char *filename)
{
std::ifstream f(filename);
int nR;//routes
int nB;//buildings
//int bNr;
f >> nR;
route *rT;//temp
int i, j;
for (i = 0; i < nR; i++)
{
//route
rT = new route;
//f >> nB;
for (j = 0; j < 2; j++)
{
f >> rT->bL[j];
//f >> bNr;
//rT->bL.push_back(bNr);
}
//car
f >> rT->vM;
//interval
f >> rT->interv;
rT->now = 0;
//classes
//rT->b = b;
rT->v = v;
r.push_back(*rT);
delete rT;
}
f.close();
}
void routes::Progress(double time)
{
for (int i = 0; i < r.size(); i++)
r[i].Progress(time);
}