hedgewars/uAIMisc.pas
changeset 375 18012da67681
parent 371 731ad6d27bd1
child 393 db01cc79f278
equal deleted inserted replaced
374:95169697cc38 375:18012da67681
   300 GoInfo.FallPix:= 0;
   300 GoInfo.FallPix:= 0;
   301 GoInfo.JumpType:= jmpNone;
   301 GoInfo.JumpType:= jmpNone;
   302 repeat
   302 repeat
   303 pX:= hwRound(Gear^.X);
   303 pX:= hwRound(Gear^.X);
   304 pY:= hwRound(Gear^.Y);
   304 pY:= hwRound(Gear^.Y);
   305 if pY + cHHRadius >= cWaterLine then exit;
   305 if pY + cHHRadius >= cWaterLine then exit(false);
   306 if (Gear^.State and gstFalling) <> 0 then
   306 if (Gear^.State and gstFalling) <> 0 then
   307    begin
   307    begin
   308    inc(GoInfo.Ticks);
   308    inc(GoInfo.Ticks);
   309    Gear^.dY:= Gear^.dY + cGravity;
   309    Gear^.dY:= Gear^.dY + cGravity;
   310    if Gear^.dY > _0_4 then
   310    if Gear^.dY > _0_4 then
   378    end
   378    end
   379    end
   379    end
   380    end
   380    end
   381    end;
   381    end;
   382 if (pX <> hwRound(Gear^.X)) and ((Gear^.State and gstFalling) = 0) then
   382 if (pX <> hwRound(Gear^.X)) and ((Gear^.State and gstFalling) = 0) then
   383    begin
   383    exit(true);
   384    Result:= true;
       
   385    exit(Result)
       
   386    end
       
   387 until (pX = hwRound(Gear^.X)) and (pY = hwRound(Gear^.Y)) and ((Gear^.State and gstFalling) = 0);
   384 until (pX = hwRound(Gear^.X)) and (pY = hwRound(Gear^.Y)) and ((Gear^.State and gstFalling) = 0);
   388 HHJump(AltGear, jmpHJump, GoInfo)
   385 HHJump(AltGear, jmpHJump, GoInfo);
       
   386 HHGo:= Result
   389 end;
   387 end;
   390 
   388 
   391 function AIrndSign(num: LongInt): LongInt;
   389 function AIrndSign(num: LongInt): LongInt;
   392 begin
   390 begin
   393 if random(2) = 0 then AIrndSign:=   num
   391 if random(2) = 0 then AIrndSign:=   num