# HG changeset patch # User "Rex Tsai " # Date 1234380332 -28800 # Node ID 025a36717f2c53eca2645a033123d4adbf2e200a # Parent ff816ffffbd81bfcb41e4567a12f526a62f1a56e fixed timing diff -r ff816ffffbd8 -r 025a36717f2c planner.pl --- a/planner.pl Thu Feb 12 03:25:20 2009 +0800 +++ b/planner.pl Thu Feb 12 03:25:32 2009 +0800 @@ -37,10 +37,15 @@ # return minutes. 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)); + } } +# package main; getopts('w'); if($#ARGV < 2) { @@ -62,7 +67,7 @@ # ARMY my $city = LoadFile(sprintf("city-%s-dump.yaml", $armyCity)); -$city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 50) + 5; +$city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 60) + 5; $city->{type} = "army"; push (@cities, $city); @@ -72,9 +77,9 @@ my $city = LoadFile(sprintf("city-%s-dump.yaml", $cityId)); $city->{type} = "wingman" . ($i+1); if(defined($opt_w)) { - $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 50) - ($i * 20 + 20); + $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 60) - ($i * 20 + 20); } else { - $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 50); + $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 60); } push (@cities, $city); }