# HG changeset patch # User "Rex Tsai " # Date 1234378078 -28800 # Node ID 2ca2c4c4990125a43d20defb8e453df32778b1d4 # Parent 6eac624efc80366595230b313e2482263cf1545f fixed travel time diff -r 6eac624efc80 -r 2ca2c4c49901 enemy.pl --- a/enemy.pl Thu Feb 12 01:53:59 2009 +0800 +++ b/enemy.pl Thu Feb 12 02:47:58 2009 +0800 @@ -13,8 +13,12 @@ sub travelTime { my ($x1, $y1, $x2, $y2, $speed) = @_; - $speed = 20 unless(defined($speed)); - return int( (sqrt((abs($x1 - $x2) * abs($x1 - $x2)) + (abs($y1 - $y2) * abs($y1 - $y2)))+1) * (400/$speed)); + $speed = 60 unless(defined($speed)); + if($x1 == $x2 && $y1 == $y2) { + return 600/$speed; + } else { + return int( (sqrt((abs($x1 - $x2) * abs($x1 - $x2)) + (abs($y1 - $y2) * abs($y1 - $y2)))) * (1200/$speed)); + } } sub travelMatrix { @@ -68,7 +72,7 @@ my @cities = (); foreach (glob("city-*-dump.yaml")) { my $city = LoadFile($_); - $city->{distance} = travelTime($island->x, $island->y, $city->{island}->{x}, $city->{island}->{y}, 20); + $city->{distance} = travelTime($island->x, $island->y, $city->{island}->{x}, $city->{island}->{y}, 60); push (@cities, $city); } @cities = sort { $a->{distance} <=> $b->{distance}; } (@cities); @@ -77,10 +81,10 @@ for my $x (0..$n) { printf("%s (%d)\t- ", $cities[$x]->{name}, $cities[$x]->{id}); printf("Land %3d Ship %3d Catapult %3d Ram %3d\n", - travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y), - travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 8), - travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 6), - travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 10), + travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 60), + travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 33), +# travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 6), +# travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 10), ); } }