From d10f3df359cbccd1d7ee13b7981fee575a90637f Mon Sep 17 00:00:00 2001 From: majortom6 Date: Sat, 25 Feb 2017 12:42:41 -0600 Subject: -began refractoring src -reduced area creatures and resources spawn -everything should be on 8 spaces now -reorganized creatures action function to make more logical sense -stripped out unused parts of geoshader and spritebatch --- src/list.cpp | 128 ++++++++++++++++++++++++++++------------------------------- 1 file changed, 61 insertions(+), 67 deletions(-) (limited to 'src/list.cpp') diff --git a/src/list.cpp b/src/list.cpp index e91e1aa..2daed25 100644 --- a/src/list.cpp +++ b/src/list.cpp @@ -2,93 +2,87 @@ List::List() { - int i; - DNA defaultDNA; - Rectangle tmp; - tmp.x = tmp.y = 0; - for(i=0;i::iterator it = creatures.begin(); it!= creatures.end(); it++) - if(it->getHealth()<=0){ - Rectangle tmp = it->getRectangle(); - Resource r = Resource(tmp); - resources.push_back(r); - creatures.erase(it--); - } - - for(std::list::iterator it = resources.begin(); it!= resources.end(); it++) - if(it->getAmount()<=0) - resources.erase(it--); + for(std::list::iterator it = creatures.begin(); it!= creatures.end(); it++) + if(it->getHealth()<=0){ + Resource Y(it->getRectangle()); + resources.push_back(Y); + creatures.erase(it--); + } + + for(std::list::iterator it = resources.begin(); it!= resources.end(); it++) + if(it->getAmount()<=0) + resources.erase(it--); } void List::Behavior() { - for(std::list::iterator it = creatures.begin(); it!= creatures.end(); it++){ - std::list N = getNear(*it); - it->giveNearMe(N); - it->Behavior(); - - if(it->getPregnancyReady()){ - DNA D = it->getChildsDNA(); - Rectangle tmp = it->getRectangle(); - Creature X(tmp,D); - creatures.push_back(X); - it->hadPregnancy(); + for(std::list::iterator it = creatures.begin(); it!= creatures.end(); it++){ + std::list N = getNear(*it); + it->giveNearMe(N); + it->Behavior(); + + if(it->getPregnancyReady()){ + DNA d = it->getChildsDNA(); + Rectangle tmp = it->getRectangle(); + Creature X(tmp,d); + creatures.push_back(X); + it->hadPregnancy(); + } } - } - - for(std::list::iterator it = resources.begin(); it!= resources.end(); it++) - it->grow(); + + for(std::list::iterator it = resources.begin(); it!= resources.end(); it++) + it->grow(); } void List::Place() { - tree.clear(); - - Rectangle tmp; - tmp.x = tmp.y = 0; - while(resources.size() < MINIMUM_RESOURCES){ - Resource Y(tmp); - resources.push_back(Y); - } - - for(std::list::iterator it = creatures.begin(); it!= creatures.end(); it++){ - it->Place(); - tree.insert(&(*it));; - } - - for(std::list::iterator it = resources.begin(); it!=resources.end(); it++){ - it->Place(); - tree.insert(&(*it));; - } + tree.clear(); + + Rectangle tmp; + while(resources.size() < MINIMUM_RESOURCES){ + Resource Y(tmp); + resources.push_back(Y); + } + + for(std::list::iterator it = creatures.begin(); it!= creatures.end(); it++){ + it->Place(); + tree.insert(&(*it));; + } + + for(std::list::iterator it = resources.begin(); it!=resources.end(); it++){ + it->Place(); + tree.insert(&(*it));; + } } std::list List::getNear(Creature nC) { - std::list N; - N.clear(); - N = tree.retrieve(N, nC.getGFXD()); + std::list N; + N = tree.retrieve(N, nC.getGFXD()); - //std::vector x{std::begin(N),std::begin(N)}; - return N; + return N; } std::vector List::drawQuadTree(){ - return tree.Draw(); + return tree.Draw(); } - -- cgit v1.2.3