hedgewars/uAI.pas
changeset 7446 9ce6e2c35413
parent 7437 a46ce1812419
child 7450 4be946b65a85
equal deleted inserted replaced
7441:5d64f59f2ca5 7446:9ce6e2c35413
   272             inc(ticks, GoInfo.Ticks);
   272             inc(ticks, GoInfo.Ticks);
   273             if ticks > maxticks then
   273             if ticks > maxticks then
   274                 break;
   274                 break;
   275 
   275 
   276             if (BotLevel < 5) and (GoInfo.JumpType = jmpHJump) then // hjump support
   276             if (BotLevel < 5) and (GoInfo.JumpType = jmpHJump) then // hjump support
   277                 if Push(ticks, Actions, AltMe, Me^.Message) then
   277                 // check if we could go backwards and maybe ljump over a gap after this hjump
       
   278                 if Push(ticks, Actions, AltMe, Me^.Message xor 3) then
   278                     begin
   279                     begin
   279                     with Stack.States[Pred(Stack.Count)] do
   280                     with Stack.States[Pred(Stack.Count)] do
   280                         begin
   281                         begin
   281                         if Me^.dX.isNegative then
   282                         if Me^.dX.isNegative then
   282                             AddAction(MadeActions, aia_LookRight, 0, 200, 0, 0)
   283                             AddAction(MadeActions, aia_LookRight, 0, 200, 0, 0)
   289                         if Me^.dX.isNegative then
   290                         if Me^.dX.isNegative then
   290                             AddAction(MadeActions, aia_LookLeft, 0, 200, 0, 0)
   291                             AddAction(MadeActions, aia_LookLeft, 0, 200, 0, 0)
   291                         else
   292                         else
   292                             AddAction(MadeActions, aia_LookRight, 0, 200, 0, 0);
   293                             AddAction(MadeActions, aia_LookRight, 0, 200, 0, 0);
   293                         end;
   294                         end;
   294                     
   295                     // but first check walking forward
   295                     // check if we could go backwards and maybe ljump over a gap after this hjump
   296                     Push(ticks, Stack.States[Pred(Stack.Count)].MadeActions, AltMe, Me^.Message)
   296                     Push(ticks, Stack.States[Pred(Stack.Count)].MadeActions, AltMe, Me^.Message xor 3)
       
   297                     end;
   297                     end;
   298             if (BotLevel < 3) and (GoInfo.JumpType = jmpLJump) then // ljump support
   298             if (BotLevel < 3) and (GoInfo.JumpType = jmpLJump) then // ljump support
   299                 begin
   299                 begin
   300                 // at final check where we go after jump walking backward
   300                 // at final check where we go after jump walking backward
   301                 if Push(ticks, Actions, AltMe, Me^.Message xor 3) then
   301                 if Push(ticks, Actions, AltMe, Me^.Message xor 3) then