hedgewars/uAIAmmoTests.pas
changeset 2695 ed789a7ef68d
parent 2630 079ef82eac75
child 2948 3f21a9dc93d0
--- a/hedgewars/uAIAmmoTests.pas	Thu Jan 14 16:38:43 2010 +0000
+++ b/hedgewars/uAIAmmoTests.pas	Thu Jan 14 16:46:50 2010 +0000
@@ -104,12 +104,12 @@
 var Vx, Vy, r: hwFloat;
     rTime: LongInt;
     Score, EX, EY: LongInt;
-    Result: LongInt;
+    valueResult: LongInt;
 
     function CheckTrace: LongInt;
     var x, y, dX, dY: hwFloat;
         t: LongInt;
-        Result: LongInt;
+        value: LongInt;
     begin
     x:= Me^.X;
     y:= Me^.Y;
@@ -125,16 +125,16 @@
     until TestCollExcludingMe(Me, hwRound(x), hwRound(y), 5) or (t <= 0);
     EX:= hwRound(x);
     EY:= hwRound(y);
-    Result:= RateExplosion(Me, EX, EY, 101);
-    if Result = 0 then Result:= - Metric(Targ.X, Targ.Y, EX, EY) div 64;
-    CheckTrace:= Result
+    value:= RateExplosion(Me, EX, EY, 101);
+    if value = 0 then value:= - Metric(Targ.X, Targ.Y, EX, EY) div 64;
+    CheckTrace:= value;
     end;
 
 begin
 ap.Time:= 0;
 rTime:= 350;
 ap.ExplR:= 0;
-Result:= BadTurn;
+valueResult:= BadTurn;
 repeat
   rTime:= rTime + 300 + Level * 50 + random(300);
   Vx:= - cWindSpeed * rTime * _0_5 + (int2hwFloat(Targ.X + AIrndSign(2)) - Me^.X) / int2hwFloat(rTime);
@@ -143,24 +143,24 @@
   if not (r > _1) then
      begin
      Score:= CheckTrace;
-     if Result <= Score then
+     if valueResult <= Score then
         begin
         ap.Angle:= DxDy2AttackAngle(Vx, Vy) + AIrndSign(random((Level - 1) * 9));
         ap.Power:= hwRound(r * cMaxPower) - random((Level - 1) * 17 + 1);
         ap.ExplR:= 100;
         ap.ExplX:= EX;
         ap.ExplY:= EY;
-        Result:= Score
+        valueResult:= Score
         end;
      end
 until (rTime > 4250);
-TestBazooka:= Result
+TestBazooka:= valueResult
 end;
 
 function TestGrenade(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
 const tDelta = 24;
 var Vx, Vy, r: hwFloat;
-    Score, EX, EY, Result: LongInt;
+    Score, EX, EY, valueResult: LongInt;
     TestTime: Longword;
 
     function CheckTrace: LongInt;
@@ -184,7 +184,7 @@
     end;
 
 begin
-Result:= BadTurn;
+valueResult:= BadTurn;
 TestTime:= 0;
 ap.ExplR:= 0;
 repeat
@@ -195,7 +195,7 @@
   if not (r > _1) then
      begin
      Score:= CheckTrace;
-     if Result < Score then
+     if valueResult < Score then
         begin
         ap.Angle:= DxDy2AttackAngle(Vx, Vy) + AIrndSign(random(Level));
         ap.Power:= hwRound(r * cMaxPower) + AIrndSign(random(Level) * 15);
@@ -203,22 +203,22 @@
         ap.ExplR:= 100;
         ap.ExplX:= EX;
         ap.ExplY:= EY;
-        Result:= Score
+        valueResult:= Score
         end;
      end
 until (TestTime = 4000);
-TestGrenade:= Result
+TestGrenade:= valueResult
 end;
 
 function TestMortar(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
 const tDelta = 24;
 var Vx, Vy: hwFloat;
-    Score, EX, EY, Result: LongInt;
+    Score, EX, EY, valueResult: LongInt;
     TestTime: Longword;
 
 	function CheckTrace: LongInt;
 	var x, y, dY: hwFloat;
-		Result: LongInt;
+		value: LongInt;
 	begin
 		x:= Me^.X;
 		y:= Me^.Y;
@@ -234,18 +234,18 @@
 
 		if (EY < 1000) and not dY.isNegative then
 			begin
-			Result:= RateExplosion(Me, EX, EY, 91);
-			if (Result = 0) then
+			value:= RateExplosion(Me, EX, EY, 91);
+			if (value = 0) then
 				if (dY > _0_15) then
-					Result:= - abs(Targ.Y - EY) div 32
+					value:= - abs(Targ.Y - EY) div 32
 				else
-					Result:= BadTurn
-			else if (Result < 0) then Result:= BadTurn
+					value:= BadTurn
+			else if (value < 0) then value:= BadTurn
 			end
 		else
-			Result:= BadTurn;
+			value:= BadTurn;
 
-		CheckTrace:= Result
+		CheckTrace:= value;
 	end;
 
 	function Solve: LongWord;
@@ -268,7 +268,7 @@
 	end;
 
 begin
-Result:= BadTurn;
+valueResult:= BadTurn;
 ap.ExplR:= 0;
 
 if (Level > 2) then exit(BadTurn);
@@ -281,17 +281,17 @@
 	Vy:= cGravity * (TestTime div 2) - (int2hwFloat(Targ.Y) - Me^.Y) / int2hwFloat(TestTime);
 
 	Score:= CheckTrace;
-	if Result < Score then
+	if valueResult < Score then
 		begin
 		ap.Angle:= DxDy2AttackAngle(Vx, Vy) + AIrndSign(random(Level));
 		ap.Power:= 1;
 		ap.ExplR:= 100;
 		ap.ExplX:= EX;
 		ap.ExplY:= EY;
-		Result:= Score
+		valueResult:= Score
 		end;
 
-TestMortar:= Result
+TestMortar:= valueResult;
 end;
 
 function TestShotgun(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
@@ -299,7 +299,7 @@
   MIN_RANGE =  80;
   MAX_RANGE = 400;
 var Vx, Vy, x, y: hwFloat;
-    rx, ry, Result: LongInt;
+    rx, ry, valueResult: LongInt;
     range: integer;
 begin
 ap.ExplR:= 0;
@@ -321,10 +321,10 @@
      begin
      x:= x + vX * 8;
      y:= y + vY * 8;
-     Result:= RateShotgun(Me, rx, ry) * 2;
-     if Result = 0 then Result:= - Metric(Targ.X, Targ.Y, rx, ry) div 64
-                   else dec(Result, Level * 4000);
-     exit(Result)
+     valueResult:= RateShotgun(Me, rx, ry) * 2;
+     if valueResult = 0 then valueResult:= - Metric(Targ.X, Targ.Y, rx, ry) div 64
+                   else dec(valueResult, Level * 4000);
+     exit(valueResult)
      end
 until (Abs(Targ.X - hwRound(x)) + Abs(Targ.Y - hwRound(y)) < 4) or (x.isNegative) or (y.isNegative) or (x.Round > LAND_WIDTH) or (y.Round > LAND_HEIGHT);
 TestShotgun:= BadTurn
@@ -333,7 +333,7 @@
 function TestDesertEagle(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
 var Vx, Vy, x, y, t: hwFloat;
     d: Longword;
-    Result: LongInt;
+    valueResult: LongInt;
 begin
 ap.ExplR:= 0;
 ap.Time:= 0;
@@ -355,13 +355,13 @@
      and (Land[hwRound(y), hwRound(x)] <> 0) then inc(d);
 until (Abs(Targ.X - hwRound(x)) + Abs(Targ.Y - hwRound(y)) < 4) or (x.isNegative) or (y.isNegative) or (x.Round > LAND_WIDTH) or (y.Round > LAND_HEIGHT) or (d > 200);
 
-if Abs(Targ.X - hwRound(x)) + Abs(Targ.Y - hwRound(y)) < 3 then Result:= max(0, (4 - d div 50) * 7 * 1024)
-                                                           else Result:= BadTurn;
-TestDesertEagle:= Result
+if Abs(Targ.X - hwRound(x)) + Abs(Targ.Y - hwRound(y)) < 3 then valueResult:= max(0, (4 - d div 50) * 7 * 1024)
+                                                           else valueResult:= BadTurn;
+TestDesertEagle:= valueResult
 end;
 
 function TestBaseballBat(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-var Result: LongInt;
+var valueResult: LongInt;
 begin
 ap.ExplR:= 0;
 if (Level > 2) or (Abs(hwRound(Me^.X) - Targ.X) + Abs(hwRound(Me^.Y) - Targ.Y) > 25) then
@@ -371,13 +371,13 @@
 ap.Power:= 1;
 if (Targ.X) - hwRound(Me^.X) >= 0 then ap.Angle:=   cMaxAngle div 4
                                   else ap.Angle:= - cMaxAngle div 4;
-Result:= RateShove(Me, hwRound(Me^.X) + 10 * hwSign(int2hwFloat(Targ.X) - Me^.X), hwRound(Me^.Y), 15, 30);
-if Result <= 0 then Result:= BadTurn else inc(Result);
-TestBaseballBat:= Result
+valueResult:= RateShove(Me, hwRound(Me^.X) + 10 * hwSign(int2hwFloat(Targ.X) - Me^.X), hwRound(Me^.Y), 15, 30);
+if valueResult <= 0 then valueResult:= BadTurn else inc(valueResult);
+TestBaseballBat:= valueResult;
 end;
 
 function TestFirePunch(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
-var i, Result: LongInt;
+var i, valueResult: LongInt;
 begin
 ap.ExplR:= 0;
 ap.Time:= 0;
@@ -388,22 +388,22 @@
 	begin
 	if TestColl(hwRound(Me^.Y), hwRound(Me^.Y) - 16, 6)
 	and (RateShove(Me, hwRound(Me^.X) + 10 * hwSign(Me^.dX), hwRound(Me^.Y) - 40, 30, 30) = 0) then
-		Result:= Succ(BadTurn)
+		valueResult:= Succ(BadTurn)
 	else
-		Result:= BadTurn;
-	exit(Result)
+		valueResult:= BadTurn;
+	exit(valueResult)
 	end;
 
-Result:= 0;
+valueResult:= 0;
 for i:= 0 to 4 do
-	Result:= Result + RateShove(Me, hwRound(Me^.X) + 10 * hwSign(int2hwFloat(Targ.X) - Me^.X),
+	valueResult:= valueResult + RateShove(Me, hwRound(Me^.X) + 10 * hwSign(int2hwFloat(Targ.X) - Me^.X),
                                     hwRound(Me^.Y) - 20 * i - 5, 10, 30);
-if Result <= 0 then
-	Result:= BadTurn
+if valueResult <= 0 then
+	valueResult:= BadTurn
 else
-	inc(Result);
+	inc(valueResult);
 
-TestFirePunch:= Result
+TestFirePunch:= valueResult;
 end;
 
 function TestAirAttack(Me: PGear; Targ: TPoint; Level: LongInt; var ap: TAttackParams): LongInt;
@@ -412,7 +412,7 @@
     b: array[0..9] of boolean;
     dmg: array[0..9] of LongInt;
     fexit: boolean;
-    i, t, Result: LongInt;
+    i, t, valueResult: LongInt;
 begin
 ap.ExplR:= 0;
 ap.Time:= 0;
@@ -431,7 +431,7 @@
     b[i]:= true;
     dmg[i]:= 0
     end;
-Result:= 0;
+valueResult:= 0;
 
 repeat
   X:= X + cBombsSpeed;
@@ -452,23 +452,23 @@
        end;
 until fexit or (Y > _1024);
 
-for i:= 0 to 5 do inc(Result, dmg[i]);
-t:= Result;
+for i:= 0 to 5 do inc(valueResult, dmg[i]);
+t:= valueResult;
 ap.AttackPutX:= Targ.X - 60;
 
 for i:= 0 to 3 do
     begin
     dec(t, dmg[i]);
     inc(t, dmg[i + 6]);
-    if t > Result then
+    if t > valueResult then
        begin
-       Result:= t;
+       valueResult:= t;
        ap.AttackPutX:= Targ.X - 30 - cShift + i * 30
        end
     end;
 
-if Result <= 0 then Result:= BadTurn;
-TestAirAttack:= Result
+if valueResult <= 0 then valueResult:= BadTurn;
+TestAirAttack:= valueResult;
 end;
 
 end.