123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #include "Foe.h"
- Foe::Foe()
- :SpaceShip( false ), m_speed( 1 )
- {
- Uint32 tabMins[SHOT_NB] = FOE_MIN;
- Uint32 tabAdds[SHOT_NB] = FOE_ADD;
- for ( unsigned int i(1); i < SHOT_NB; i++ )
- {
- m_loading[i] = SDL_GetTicks();
- m_delay[i] = tabMins[i] + ( rand() % tabAdds[i] );
- }
- }
- Foe::Foe( Uint16 speed )
- :SpaceShip( false ), m_speed( speed )
- {
- Uint32 tabMins[SHOT_NB] = FOE_MIN;
- Uint32 tabAdds[SHOT_NB] = FOE_ADD;
- for ( unsigned int i(1); i < SHOT_NB; i++ )
- {
- m_loading[i] = SDL_GetTicks();
- m_delay[i] = tabMins[i] + ( rand() % tabAdds[i] );
- }
- }
- Foe::~Foe()
- {
- //dtor
- }
- void Foe::update()
- {
- // Collision
- SpaceShip::update();
- // Teste l'existence
- if ( !getIsAlive() )
- return ;
- // Déplacement
- m_pos.x += m_speed;
- // Feu
- Uint32 last( SDL_GetTicks() );
- Uint32 tabMins[SHOT_NB] = FOE_MIN;
- Uint32 tabAdds[SHOT_NB] = FOE_ADD;
- for ( unsigned int i(1); i < SHOT_NB; i++ )
- {
- if ( last - m_loading[i] > m_delay[i] ){
- fire( i );
- m_loading[i] = SDL_GetTicks();
- m_delay[i] = tabMins[i] + ( rand() % tabAdds[i] );
- }
- }
- }
|