105 lines
1.6 KiB
C++
105 lines
1.6 KiB
C++
|
|
#include "IA_Monstre.hpp"
|
|
|
|
Mob::Mob()
|
|
{
|
|
direction = true;
|
|
couldown = 0;
|
|
}
|
|
|
|
void Mob::SetDirection( bool d)
|
|
{
|
|
direction = d;
|
|
}
|
|
|
|
void Mob::SetCouldown( int c)
|
|
{
|
|
couldown = c;
|
|
}
|
|
|
|
void Mob_InLine::Update()
|
|
{
|
|
if(direction)
|
|
{
|
|
Move( - 1 , 0 );
|
|
if(CollisionDecor( GetX() - 1 , GetY() )) direction = false;
|
|
}
|
|
else
|
|
{
|
|
Move( 1 , 0 );
|
|
if(CollisionDecor( GetX() + 1 , GetY() )) direction = true;
|
|
}
|
|
|
|
ReverseRender(direction);
|
|
}
|
|
|
|
void Mob_InLine_Jump::UpdateEverySecond()
|
|
{
|
|
if(couldown < 0)
|
|
{
|
|
GetBody()->velocity.y = 25 ;
|
|
couldown = 80 ;
|
|
}
|
|
|
|
couldown --;
|
|
}
|
|
|
|
void Mob_InLine_Fly::Update()
|
|
{
|
|
if(direction)
|
|
{
|
|
Move( - 2 , 0 );
|
|
if(CollisionDecor( GetX() - 1 , GetY() )) direction = false;
|
|
}
|
|
else
|
|
{
|
|
Move( 2 , 0 );
|
|
if(CollisionDecor( GetX() + 1 , GetY() )) direction = true;
|
|
}
|
|
|
|
GetBody()->velocity.y = 9;
|
|
|
|
ReverseRender(direction);
|
|
}
|
|
|
|
void Mob_Piaf::Update()
|
|
{
|
|
if( CollisionDecor( GetX() , (GetY() - 1 )))
|
|
SetIt(0);
|
|
else
|
|
SetIt(1);
|
|
|
|
ReverseRender(direction);
|
|
}
|
|
|
|
void Mob_Piaf::UpdateEverySecond()
|
|
{
|
|
if( CollisionDecor( GetX() , (GetY() - 1 )) && !couldown )
|
|
GetBody()->velocity.y = 25;
|
|
|
|
couldown --;
|
|
|
|
if(couldown < 0)couldown = 4;
|
|
}
|
|
|
|
|
|
void Mob_Champ::Update()
|
|
{
|
|
couldown --;
|
|
|
|
if(couldown < 0)
|
|
{
|
|
if(direction)
|
|
direction = false;
|
|
else
|
|
direction = true;
|
|
|
|
GetBody()->velocity.y = 20;
|
|
|
|
couldown = 50;
|
|
}
|
|
|
|
ReverseRender(direction);
|
|
}
|
|
|