void stare_main() { Lista sl; int i; cout << "(A) : "; sl.showValues(); for(i = 1; i <= 10; i++) { obj* p = new obj; p->value = i; sl.pushFront(p); } cout << "(B) : "; sl.showValues(); sl.popFront(); cout << "(C) : "; sl.showValues(); sl.erase(5); cout << "(5) : "; sl.showValues(); }
void Bola::colidiu(Lista<Bloco> &blocos,Fila<Buff> &buffs,Player &jogador,Pilha<sf::Color> &pilha){ for(Lista<Bloco>::iterator i=blocos.begin();i!=blocos.end();i++){ if(this->getGlobalBounds().intersects(i->getGlobalBounds())){ laser1.play(); if(this->getPosition().y>i->getPosition().y&&this->getPosition().y<i->getPosition().y+25){ speed.x*=-1; }else speed.y*=-1; --(*i); //Olhar essa parte ///Mesmo sem quebrar o bloco, a pilha é alterada if(!pilha.empty()){ if(i->getFillColor()==pilha.top()) pilha.pop(); else pilha.push(i->getFillColor()); } if(i->getLife()==0){ jogador.setPontos(jogador.getPontos()+10*i->getType()); if(i->hasBuff){ if(!buffs.front().isActive){ buffs.front().isActive=true; buffs.front().setPosition(i->getPosition()); } } i=blocos.erase(i); } } } }
void test_zbyszka() { Lista sl; CHECK_EQUAL(sl.size(), 0 ); for(int i = 1; i <= 10; i++) { obj* p = new obj; p->value = i; sl.pushFront(p); CHECK_EQUAL(sl.size(), i ); } CHECK_EQUAL(sl.size(), 10 ); sl.popFront(); CHECK_EQUAL(sl.size(), 9 ); sl.erase(5); CHECK_EQUAL(sl.size(), 8 ); }
void test_na_usuwanie() { Lista sl; CHECK_EQUAL(sl.size(), 0 ); for(int i = 1; i <= 3; i++) { obj* p = new obj; p->value = i; sl.pushFront(p); } CHECK_EQUAL(sl.first()->value, 3); CHECK_EQUAL(sl.first()->next->value, 2); CHECK_EQUAL(sl.first()->next->next->value, 1); sl.erase(1); CHECK_EQUAL(sl.first()->value, 3); CHECK_EQUAL(sl.first()->next->value, 2); //CHECK_EQUAL(sl.first()->next->next, 0); CHECK_EQUAL(sl.size(), 2); }