#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); }