m_Fleet[unittype][tick] = number;
}
+//////////////////////////////////////////////////////////////////////////
+//
+void Fleet::addFleet(std::string unittype, int number, int tick = 0)
+{
+ int earlier = 0;
+ int ticks = m_Fleet[unittype].size();
+
+ if (ticks != 0)
+ earlier = m_Fleet[unittype][ticks - 1];
+
+ for (int i = ticks; i <= tick; ++i)
+ {
+ m_Fleet[unittype].push_back(earlier);
+ }
+ m_Fleet[unittype][tick] += number;
+}
+
//////////////////////////////////////////////////////////////////////////
//
int Fleet::fleet(string unittype, int tick = 0)
{
int ticks = m_Resources[type].size();
- int latest = 0;
-
- if (ticks > 0)
- latest = m_Resources[type][ticks - 1];
+ int latest = resource(type, tick - 1);
for (int i = ticks; i <= tick; ++i)
m_Resources[type].push_back(latest);
//
int Fleet::resource(std::string type, int tick = 0) const
{
+ if (tick < 0)
+ return 0;
+
vector<int>const* resource = 0;
for (ResourceList::const_iterator i = m_Resources.begin(); i != m_Resources.end(); ++i)
{
return resource->at(tick);
}
+//////////////////////////////////////////////////////////////////////////
+//
+void Fleet::resetResources()
+{
+ m_Resources.clear() ;
+}
+
//////////////////////////////////////////////////////////////////////////
//
void Fleet::printFleet()
{
string res = i->first;
+
cerr << "Distributing type: " << res << endl;
for (vector<int>::iterator j = i->second.begin(); j != i->second.end(); ++j)
cout << (*j) << endl;
int lost = totcapped * part;
cerr << (*j)->name() << " gaining " << lost << " " << res << " since it's " << part * 100 << "% of the whole score, and it had : " << fl1 << " score last tick.. compared to fleet total of: " << score(0) << endl;
- (*j)->setResource(res, (*j)->resource(res,tick-1) + lost, tick);
+
+ //(*j)->setResource(res, (*j)->resource(res,tick-1) + lost, tick);
+ (*j)->addResource(res,lost, tick);
}
}
}
//////////////////////////////////////////////////////////////////////////
//
-void Fleet::addPodsForLostRoids(int tick = 1)
+
+void Fleet::addFleet(std::map<string, int> units, int tick = 0)
{
- for (ResourceList::iterator i = m_Resources.begin(); i != m_Resources.end(); ++i)
- {
- setFleet("Astro Pod", fleet("Astro Pod", tick) + (resource(i->first, tick) - resource(i->first, tick - 1)), tick);
- }
+ for (map<string, int>::iterator i = units.begin(); i != units.end(); ++i)
+ addFleet(i->first, i->second, tick);
}