|
|
|
@ -6,8 +6,8 @@ void IA1::Start()
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
couldown=0; |
|
|
|
|
direction=1; |
|
|
|
|
directionuser=1; |
|
|
|
|
direction=0; |
|
|
|
|
directionuser=0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void IA1::UpdateEverySecond() |
|
|
|
@ -37,61 +37,77 @@ void IA1::Update()
|
|
|
|
|
|
|
|
|
|
//Intersection//
|
|
|
|
|
|
|
|
|
|
if(!(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) && !GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY() - 1) &&!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) && !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY()))) |
|
|
|
|
if(!GetObject()->CollisionTag("Jail")) |
|
|
|
|
{ |
|
|
|
|
switch(direction) |
|
|
|
|
|
|
|
|
|
if(!(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) && !GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY() - 1) &&!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) && !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY()))) |
|
|
|
|
{ |
|
|
|
|
switch(direction) |
|
|
|
|
{ |
|
|
|
|
case 1: |
|
|
|
|
if(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) || !GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY() - 1)) |
|
|
|
|
{ |
|
|
|
|
hasard = rand_int(3) + 1; |
|
|
|
|
switch(hasard) |
|
|
|
|
{ |
|
|
|
|
case 1: directionuser = 1;break; |
|
|
|
|
case 2: directionuser = 2;break; |
|
|
|
|
case 3: directionuser = 4;break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY())) |
|
|
|
|
{ |
|
|
|
|
hasard = rand_int(3) + 1; |
|
|
|
|
switch(hasard) |
|
|
|
|
{ |
|
|
|
|
case 1: directionuser = 2;break; |
|
|
|
|
case 2: directionuser = 1;break; |
|
|
|
|
case 3: directionuser = 3;break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
if(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) || !GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() - 1)) |
|
|
|
|
{ |
|
|
|
|
hasard = rand_int(3) + 1; |
|
|
|
|
switch(hasard) |
|
|
|
|
{ |
|
|
|
|
case 1: directionuser = 3;break; |
|
|
|
|
case 2: directionuser = 2;break; |
|
|
|
|
case 3: directionuser = 4;break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 4: |
|
|
|
|
if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY())) |
|
|
|
|
{ |
|
|
|
|
hasard = rand_int(3) + 1; |
|
|
|
|
switch(hasard) |
|
|
|
|
{ |
|
|
|
|
case 1: directionuser = 4;break; |
|
|
|
|
case 2: directionuser = 1;break; |
|
|
|
|
case 3: directionuser = 3;break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
case 1: |
|
|
|
|
if(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) || !GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY() - 1)) |
|
|
|
|
{ |
|
|
|
|
hasard = rand_int(3) + 1; |
|
|
|
|
switch(hasard) |
|
|
|
|
{ |
|
|
|
|
case 1: directionuser = 1;break; |
|
|
|
|
case 2: directionuser = 2;break; |
|
|
|
|
case 3: directionuser = 4;break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 2: |
|
|
|
|
if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY())) |
|
|
|
|
{ |
|
|
|
|
hasard = rand_int(3) + 1; |
|
|
|
|
switch(hasard) |
|
|
|
|
{ |
|
|
|
|
case 1: directionuser = 2;break; |
|
|
|
|
case 2: directionuser = 1;break; |
|
|
|
|
case 3: directionuser = 3;break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 3: |
|
|
|
|
if(!GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() + 1) || !GetObject()->GetRigibody()->CollisionDecor(GetX(), GetY() - 1)) |
|
|
|
|
{ |
|
|
|
|
hasard = rand_int(3) + 1; |
|
|
|
|
switch(hasard) |
|
|
|
|
{ |
|
|
|
|
case 1: directionuser = 3;break; |
|
|
|
|
case 2: directionuser = 2;break; |
|
|
|
|
case 3: directionuser = 4;break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case 4: |
|
|
|
|
if(!GetObject()->GetRigibody()->CollisionDecor(GetX() + 1 , GetY()) || !GetObject()->GetRigibody()->CollisionDecor(GetX() - 1 , GetY())) |
|
|
|
|
if(GetObject()->GetRigibody()->CollisionDecor(GetX() , GetY()+1)) |
|
|
|
|
{ |
|
|
|
|
hasard = rand_int(3) + 1; |
|
|
|
|
switch(hasard) |
|
|
|
|
{ |
|
|
|
|
case 1: directionuser = 4;break; |
|
|
|
|
case 2: directionuser = 1;break; |
|
|
|
|
case 3: directionuser = 3;break; |
|
|
|
|
} |
|
|
|
|
Object * Jail = GetObject()->CollisionTagO("Jail"); |
|
|
|
|
if(Jail != NULL) |
|
|
|
|
{ |
|
|
|
|
if(Jail->GetTransforms()->GetX() + 20 < GetX())directionuser = 4; |
|
|
|
|
else directionuser = 2; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
else directionuser = 1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//***********Deplacement***********//
|
|
|
|
|
|
|
|
|
|