Mercurial > eagle-eye
changeset 336:ff816ffffbd8
fixed timing issue
author | "Rex Tsai <chihchun@kalug.linux.org.tw>" |
---|---|
date | Thu, 12 Feb 2009 03:25:20 +0800 |
parents | c4ef89a74128 (diff) 65f45552060e (current diff) |
children | 025a36717f2c |
files | enemy.pl |
diffstat | 3 files changed, 14 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/enemy.pl Thu Feb 12 02:48:45 2009 +0800 +++ b/enemy.pl Thu Feb 12 03:25:20 2009 +0800 @@ -13,12 +13,8 @@ sub travelTime { my ($x1, $y1, $x2, $y2, $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)); - } + $speed = 20 unless(defined($speed)); + return int( (sqrt((abs($x1 - $x2) * abs($x1 - $x2)) + (abs($y1 - $y2) * abs($y1 - $y2)))+1) * (400/$speed)); } sub travelMatrix { @@ -72,7 +68,7 @@ my @cities = (); foreach (glob("city-*-dump.yaml")) { my $city = LoadFile($_); - $city->{distance} = travelTime($island->x, $island->y, $city->{island}->{x}, $city->{island}->{y}, 60); + $city->{distance} = travelTime($island->x, $island->y, $city->{island}->{x}, $city->{island}->{y}, 20); push (@cities, $city); } @cities = sort { $a->{distance} <=> $b->{distance}; } (@cities); @@ -81,10 +77,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, 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), + 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), ); } }
--- a/planner.pl Thu Feb 12 02:48:45 2009 +0800 +++ b/planner.pl Thu Feb 12 03:25:20 2009 +0800 @@ -37,15 +37,10 @@ # return minutes. sub travelTime { my ($x1, $y1, $x2, $y2, $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)); - } + $speed = 20 unless(defined($speed)); + return int( (sqrt((abs($x1 - $x2) * abs($x1 - $x2)) + (abs($y1 - $y2) * abs($y1 - $y2)))+1) * (400/$speed)); } -# package main; getopts('w'); if($#ARGV < 2) { @@ -67,7 +62,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}, 60) + 5; +$city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 50) + 5; $city->{type} = "army"; push (@cities, $city); @@ -77,9 +72,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}, 60) - ($i * 20 + 20); + $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 50) - ($i * 20 + 20); } else { - $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 60); + $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 50); } push (@cities, $city); }
--- a/warfare.pl Thu Feb 12 02:48:45 2009 +0800 +++ b/warfare.pl Thu Feb 12 03:25:20 2009 +0800 @@ -117,12 +117,7 @@ # we don't attack same city twice at same time. next CITY if($_->{to} == $city->cityId); } - # we attack one city maximum 4 times a day. - if ($city->status eq 'i') { - next CITY if($c >= 6); - } else { - next CITY if($c >= 4); - } + next CITY if($c >= 1); my $capture = $city->citylevel * ($city->citylevel - 1) * $sheep->trader_score_secondary / 10000; next if($capture < 1500); @@ -148,8 +143,8 @@ $self->{ikariam}->changeCity($cityId); $self->{ikariam}->plunderCity($victim, { - # cargo_army_302 => '2', # 劍士 cargo_army_303 => '2', # 方陣 + transporter => 5, # transporter } ); }