First of all thank you for all the feedback! :D
Instead of starting a new level, the game just closes after the boss. i think i will create some new levels with different loloid-enemies before the boss attacks.
Unfortunatly I can't see the screenshots, so here are two other screenshots.
Thank you for uploading, i still have some trouble with uploading screenshots :o
Pressing "insert image" with the dropbox hyperlink didn't work for me :-\
How about making the asteroid speeds randomized as well (and maybe size, too). I'd say it'll be pretty easy to do since you already randomized their position, and a little variation would look great i think.
I've been thinking about that already, but i don't know how to make it. currently, i create the asteroids with a list and manage the movement and the rotation like this:
if((sf::Randomizer::Random(0,100) < asteroid_spawner) && (asteroid_bool) && (asteroid_list.size() < asteroid_max))
{
sf::Sprite *asteroid;
asteroid = new sf::Sprite;
asteroid->SetImage(asteroid_img);
asteroid->SetPosition(850+sf::Randomizer::Random(0,60),sf::Randomizer::Random(10,530));
asteroid_it->Rotate(sf::Randomizer::Random(0,50));
asteroid_list.push_back(*asteroid);
}
for(asteroid_it = asteroid_list.begin(); asteroid_it != asteroid_list.end(); asteroid_it++)
{
asteroid_it->Move(-100*Window.GetFrameTime(),0);
asteroid_it->Rotate(1);
asteroid_it->SetCenter(25,25);
{
Randomized speed and rotation would mean that i would have to create seperate lists for that, wouldn't it? :o
Additionally, a randomized size would make the colliding between shot/asteroid and player/asteroid much more difficult because i adjusted it to the standard size (+- 25p):
if(schuss_it->GetPosition().y <= asteroid_it->GetPosition().y +25 &&
schuss_it->GetPosition().y >= asteroid_it->GetPosition().y -25 &&
schuss_it->GetPosition().x >= asteroid_it->GetPosition().x -25)
//{delete asteroid}
agenda
- new sounds
- new levels (with new enemies)
- randomized asteroid size and rotation
- new ship upgrades (max armor, shot power, (suggestions?))
- a story (what are the loloids and what do they want?)
I've been thinking about that already, but i don't know how to make it. currently, i create the asteroids with a list and manage the movement and the rotation like this:
Randomized speed and rotation would mean that i would have to create seperate lists for that, wouldn't it? :o
Additionally, a randomized size would make the colliding between shot/asteroid and player/asteroid much more difficult because i adjusted it to the standard size (+- 25p):
if(schuss_it->GetPosition().y <= asteroid_it->GetPosition().y +25 &&
schuss_it->GetPosition().y >= asteroid_it->GetPosition().y -25 &&
schuss_it->GetPosition().x >= asteroid_it->GetPosition().x -25)
//{delete asteroid}
agenda
- new sounds
- new levels (with new enemies)
- randomized asteroid size and rotation
- new ship upgrades (max armor, shot power, (suggestions?))
- a story (what are the loloids and what do they want?)
Regarding random speed and sizes: yes, I guess that'll require you to store the numbers on a separate list :P
I'd say just make a struct or something so that each asteroid does not only contain a sf::sprite but also its move_speed (you shouldn't need to store size, you should be able to just increase it once via the setScale function and never bother it again).
On collision detection, you might want to use the contains() function to detect whether a point is inside the asteroid. Say,
//for comparison (current version):
if(schuss_it->GetPosition().y <= asteroid_it->GetPosition().y +25 &&
schuss_it->GetPosition().y >= asteroid_it->GetPosition().y -25 &&
schuss_it->GetPosition().x >= asteroid_it->GetPosition().x -25)
//{delete asteroid}
//you might wanna try
if (asteroid_it->getLocalBounds().contains(schuss_it)) //delete asteroid