179 lines
5.4 KiB
C++
179 lines
5.4 KiB
C++
|
|
||
|
#include "Perso.hpp"
|
||
|
|
||
|
void Control ::Start()
|
||
|
{
|
||
|
couldown = 0;
|
||
|
Vie=40;
|
||
|
BarreVie=0;
|
||
|
VieMax=40;
|
||
|
|
||
|
|
||
|
p_epee->Disable();
|
||
|
p_epee->AffectTag("Epee");
|
||
|
}
|
||
|
|
||
|
void Control::Update()
|
||
|
{
|
||
|
BarreVie=Vie*40/VieMax;
|
||
|
ML_line (126,40,126,40-BarreVie,ML_BLACK);
|
||
|
ML_line (125,1,125,41,ML_BLACK);
|
||
|
ML_line (127,1,127,42,ML_BLACK);
|
||
|
ML_line (125,1,127,1,ML_BLACK);
|
||
|
ML_line (125,41,127,41,ML_BLACK);
|
||
|
|
||
|
|
||
|
Object * Buffer = GetObject()->GetObjectCollisionTag("Slime");
|
||
|
if(Buffer != NULL)
|
||
|
{
|
||
|
Vie--;
|
||
|
int difx = GetObject()->GetTransform()->GetX() - Buffer->GetTransform()->GetX();
|
||
|
int dify = GetObject()->GetTransform()->GetY() - Buffer->GetTransform()->GetY();
|
||
|
|
||
|
GetObject()->GetRigidBody()->Move(difx * 2 ,dify * 2);
|
||
|
}
|
||
|
if (input_trigger(K_SHIFT) || couldown > 0)
|
||
|
{
|
||
|
couldown --;
|
||
|
if(couldown < 0) couldown = 10;
|
||
|
|
||
|
switch (Direction_p)
|
||
|
{
|
||
|
case 1:
|
||
|
GetObject()->GetRender()->SetIt(7);
|
||
|
p_epee->GetTransform()->SetXY(GetObject()->GetTransform()->GetX() + 1,GetObject()->GetTransform()->GetY() + 12);
|
||
|
p_epee->GetRender()->SetDirection(0);
|
||
|
break;
|
||
|
case 2:
|
||
|
GetObject()->GetRender()->SetIt(8);
|
||
|
GetObject()->GetRender()->ReverseRender(true);
|
||
|
p_epee->GetTransform()->SetXY(GetObject()->GetTransform()->GetX()+14,GetObject()->GetTransform()->GetY()-2);
|
||
|
p_epee->GetRender()->SetDirection(270);
|
||
|
break;
|
||
|
case 3:
|
||
|
GetObject()->GetRender()->SetIt(6);
|
||
|
p_epee->GetTransform()->SetXY(GetObject()->GetTransform()->GetX() + 6,GetObject()->GetTransform()->GetY() - 12);
|
||
|
p_epee->GetRender()->SetDirection(180);
|
||
|
break;
|
||
|
case 4:
|
||
|
GetObject()->GetRender()->SetIt(8);
|
||
|
GetObject()->GetRender()->ReverseRender(false);
|
||
|
p_epee->GetTransform()->SetXY(GetObject()->GetTransform()->GetX() - 8,GetObject()->GetTransform()->GetY() - 3);
|
||
|
p_epee->GetRender()->SetDirection(90);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
p_epee->Enable();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
p_epee->Disable();
|
||
|
|
||
|
if(input_press(K_RIGHT))
|
||
|
{
|
||
|
GetObject()->GetRigidBody()->Move(1,0);
|
||
|
GetObject()->GetRender()->SetIt(5);
|
||
|
GetObject()->GetRender()->ReverseRender(true);
|
||
|
Direction_p=2;
|
||
|
}
|
||
|
else if(input_press(K_LEFT))
|
||
|
{
|
||
|
GetObject()->GetRigidBody()->Move(-1,0);
|
||
|
GetObject()->GetRender()->SetIt(5);
|
||
|
GetObject()->GetRender()->ReverseRender(false);
|
||
|
Direction_p=4;
|
||
|
}
|
||
|
else if(input_press(K_UP))
|
||
|
{
|
||
|
GetObject()->GetRigidBody()->Move (0,1);
|
||
|
GetObject()->GetRender()->SetIt(3);
|
||
|
Direction_p=1;
|
||
|
}
|
||
|
else if(input_press(K_DOWN))
|
||
|
{
|
||
|
GetObject()->GetRigidBody()->Move (0,-1);
|
||
|
GetObject()->GetRender()->SetIt(1);
|
||
|
Direction_p=3;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
switch (Direction_p)
|
||
|
{
|
||
|
case 1:GetObject()->GetRender()->SetIt(2);break;
|
||
|
case 2:GetObject()->GetRender()->SetIt(4);break;
|
||
|
case 3:GetObject()->GetRender()->SetIt(0);break;
|
||
|
case 4:GetObject()->GetRender()->SetIt(4);break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if(GetObject()->GetCollisionTag("T1"))
|
||
|
{
|
||
|
GetEngine()->MoveObject(GetObject(),1);
|
||
|
GetEngine()->MoveObject(p_epee,1);
|
||
|
GetEngine()->SetCurrentLevel(1);
|
||
|
GetObject()->GetTransform()->SetXY(29,3);
|
||
|
}
|
||
|
|
||
|
if(GetObject()->GetCollisionTag("T2"))
|
||
|
{
|
||
|
GetEngine()->MoveObject(GetObject(),0);
|
||
|
GetEngine()->MoveObject(p_epee,0);
|
||
|
GetEngine()->SetCurrentLevel(0);
|
||
|
GetObject()->GetTransform()->SetXY(169,86);
|
||
|
}
|
||
|
|
||
|
if(GetObject()->GetCollisionTag("T3"))
|
||
|
{
|
||
|
GetEngine()->MoveObject(GetObject(),1);
|
||
|
GetEngine()->MoveObject(p_epee,1);
|
||
|
GetEngine()->SetCurrentLevel(1);
|
||
|
GetObject()->GetTransform()->SetXY(169,3);
|
||
|
}
|
||
|
|
||
|
if(GetObject()->GetCollisionTag("T4"))
|
||
|
{
|
||
|
GetEngine()->MoveObject(GetObject(),0);
|
||
|
GetEngine()->MoveObject(p_epee,0);
|
||
|
GetEngine()->SetCurrentLevel(0);
|
||
|
GetObject()->GetTransform()->SetXY(197,86);
|
||
|
}
|
||
|
|
||
|
if(GetObject()->GetCollisionTag("T5"))
|
||
|
{
|
||
|
GetEngine()->MoveObject(GetObject(),2);
|
||
|
GetEngine()->MoveObject(p_epee,2);
|
||
|
GetEngine()->SetCurrentLevel(2);
|
||
|
GetObject()->GetTransform()->SetXY(57,3);
|
||
|
}
|
||
|
|
||
|
if(GetObject()->GetCollisionTag("T6"))
|
||
|
{
|
||
|
GetEngine()->MoveObject(GetObject(),0);
|
||
|
GetEngine()->MoveObject(p_epee,0);
|
||
|
GetEngine()->SetCurrentLevel(0);
|
||
|
GetObject()->GetTransform()->SetXY(57,69);
|
||
|
}
|
||
|
|
||
|
if(GetObject()->GetCollisionTag("T7"))
|
||
|
{
|
||
|
GetEngine()->MoveObject(GetObject(),3);
|
||
|
GetEngine()->MoveObject(p_epee,3);
|
||
|
GetEngine()->SetCurrentLevel(3);
|
||
|
GetObject()->GetTransform()->SetXY(113,3);
|
||
|
}
|
||
|
|
||
|
if(GetObject()->GetCollisionTag("T8"))
|
||
|
{
|
||
|
GetEngine()->MoveObject(GetObject(),0);
|
||
|
GetEngine()->MoveObject(p_epee,0);
|
||
|
GetEngine()->SetCurrentLevel(0);
|
||
|
GetObject()->GetTransform()->SetXY(71,113);
|
||
|
}
|
||
|
|
||
|
if (input_press(K_EXIT))GetEngine()->StopGame();
|
||
|
|
||
|
GetEngine()->MiddleScreen(GetObject()->GetTransform()->GetX() + 6 , GetObject()->GetTransform()->GetY() + 6);
|
||
|
}
|
||
|
|