void exercise(list x, object y, object print) { x.append(y); x.append(5); x.append(X(3)); print("after append:"); print(x); print("number of", y, "instances:", x.count(y)); print("number of 5s:", x.count(5)); x.extend("xyz"); print("after extend:"); print(x); print("index of", y, "is:", x.index(y)); print("index of 'l' is:", x.index("l")); x.insert(4, 666); print("after inserting 666:"); print(x); print("inserting with object as index:"); x.insert(x[x.index(5)], "---"); print(x); print("popping..."); x.pop(); print(x); x.pop(x[x.index(5)]); print(x); x.pop(x.index(5)); print(x); print("removing", y); x.remove(y); print(x); print("removing", 666); x.remove(666); print(x); print("reversing..."); x.reverse(); print(x); print("sorted:"); x.pop(2); // make sorting predictable x.sort(); print(x); print("reverse sorted:"); x.sort(¬cmp); print(x); list w; w.append(5); w.append(6); w += "hi"; BOOST_ASSERT(w[0] == 5); BOOST_ASSERT(w[1] == 6); BOOST_ASSERT(w[2] == 'h'); BOOST_ASSERT(w[3] == 'i'); }
void reverse() { cout<<"Nastapi odwrocenie kolejnosci liczb!"; lista.reverse(); Sleep(2000); }
// // Shoot // void Game::Shoot() { static Uint32 lShot = SDL_GetTicks() - RELOAD_TIME; static list<SprDraw> killableSprites; static list<SprDraw>::iterator ksIt; static float distance, a, b, c, d; if(SDL_GetTicks() - lShot > RELOAD_TIME) { list<Sprite *>::iterator it; Sprite *spr; if(player->GetWeapon() == 0) { player->DecrementAmmo(1); if(player->GetAmmo() == 0) { AddMessage("Out of ammo!"); return; } } else if(player->GetWeapon() == 1) { player->DecrementMGAmmo(1); if(player->GetMGAmmo() == 0) { AddMessage("Out of ammo!"); return; } } fireStart = SDL_GetTicks(); fireVisible = true; if(player->GetWeapon()==0) framework->PlaySound(shootSnd); else if(player->GetWeapon()==1) framework->PlaySound(MGshootSnd); for(it = sprites.begin(); it != sprites.end(); it++) { spr = *it; if(spr->GetLookingAt() && spr->GetId() == ET_FURBY) { SprDraw ks; ks.original = spr; ks.x = spr->GetPosX(); ks.y = spr->GetPosY(); ks.image = spr->GetImage(); a = raycaster->GetPosX() - ks.x; b = raycaster->GetPosY() - ks.y; distance = sqrt(a*a+b*b); ks.distance = distance; killableSprites.push_back(ks); } if(spr->GetLookingAt() && spr->GetId() == ET_SKULL) { SprDraw ks; ks.original = spr; ks.x = spr->GetPosX(); ks.y = spr->GetPosY(); ks.image = spr->GetImage(); c = raycaster->GetPosX() - ks.x; d = raycaster->GetPosY() - ks.y; distance = sqrt(a*a+b*b); ks.distance = distance; killableSprites.push_back(ks); } } if(!killableSprites.empty()) { killableSprites.sort(); killableSprites.reverse(); ksIt = killableSprites.begin(); Furby *thisFurby = (Furby *)(*ksIt).original; Skull *thisSkull = (Skull*)(*ksIt).original; if(!thisFurby->IsDead()&&thisFurby->GetId()==ET_FURBY) { thisFurby->NextImage(); framework->PlaySound(EnemyHurt); } else if(thisFurby->IsDead() && thisFurby->GetId()==ET_FURBY) { SDL_Surface *daFrames[NUM_DEATH_ANIM_FRAMES]; daFrames[0] = spriteImgs[11]; daFrames[1] = spriteImgs[12]; daFrames[2] = spriteImgs[13]; DeathAnimation *deathAnim = new DeathAnimation(daFrames, (*ksIt).original->GetPosX(), (*ksIt).original->GetPosY()); sprites.push_back(deathAnim); delete (*ksIt).original; sprites.remove((*ksIt).original); framework->PlaySound(killSnd); AddMessage("You killed a furby!"); } if(!thisSkull->IsDead() && thisSkull->GetId()==ET_SKULL) { thisSkull->NextImage(); framework->PlaySound(EnemyHurt); } else if(thisSkull->IsDead() && thisSkull->GetId()==ET_SKULL) { SDL_Surface *skdaFrames[NUM_DEATH_ANIM_FRAMES]; skdaFrames[0] = spriteImgs[17]; skdaFrames[1] = spriteImgs[18]; skdaFrames[2] = spriteImgs[19]; SKDeathAnimation *skdeathAnim = new SKDeathAnimation(skdaFrames, (*ksIt).original->GetPosX(), (*ksIt).original->GetPosY()); sprites.push_back(skdeathAnim); delete (*ksIt).original; sprites.remove((*ksIt).original); framework->PlaySound(killSnd); AddMessage("You killed a skull!"); } //} killableSprites.clear(); } lShot = SDL_GetTicks(); } }