X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=bs%2Fbsdoc.cpp;h=aa093e896cf625eda216db6308e6602f70362bd5;hb=1c8c7800411f2491d9be16c0f1515a91525f2e56;hp=d7e04ce336f0e3253c04af305ae94952b0942d1b;hpb=c2dd8856c3d97667953a0b73403b5e5cade5ce9b;p=hbs.git diff --git a/bs/bsdoc.cpp b/bs/bsdoc.cpp index d7e04ce..aa093e8 100644 --- a/bs/bsdoc.cpp +++ b/bs/bsdoc.cpp @@ -64,9 +64,13 @@ int BSDoc::newBattle(QString name) { m_Battles[name]["Friendly"]["Home Planet"] = new Planet();; m_Battles[name]["Friendly"]["Home Fleet"] = new Fleet(); - m_Battles[name]["Hostile"]; + m_Battles[name]["Hostile"]["Evil guy"] = new Fleet(); + + m_Battles[name]["Friendly"]["Home Planet"]->setName("Home Planet"); + m_Battles[name]["Friendly"]["Home Fleet"]->setName("Home Fleet"); + m_Battles[name]["Friendly"]["Home Fleet"]->setRace("Terran"); + m_Battles[name]["Hostile"]["Evil guy"]->setName("Evil guy"); - //Planet* pl = dynamic_cast(m_Battles[name]["Friendly"]["Home Planet"]); modified = true; emit documentChanged(); return 0; @@ -146,6 +150,22 @@ void BSDoc::removeFleet(QString battle, QString group, QString fleet) // void BSDoc::runBattleSimulation() { + for(BattleList::iterator i = m_Battles.begin(); i != m_Battles.end(); ++i) + { + map > battle; + for (map >::iterator j = i->second.begin(); j != i->second.end(); ++j) + { + for (map::iterator k = j->second.begin(); k != j->second.end(); ++k) + battle[j->first].push_back(k->second); + } + + Planet* pl = dynamic_cast(i->second["Friendly"]["Home Planet"]); + + if (pl) + { + pl->runBattle(battle["Friendly"], battle["Hostile"]); + } + } emit documentChanged(); }