changeset 301:07f51bb67e56

option for wave attack
author "Rex Tsai <chihchun@kalug.linux.org.tw>"
date Sun, 07 Dec 2008 22:25:30 +0800
parents 5fc26f2af95b
children efffa408eec5
files planner.pl
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/planner.pl	Sun Dec 07 21:13:21 2008 +0800
+++ b/planner.pl	Sun Dec 07 22:25:30 2008 +0800
@@ -3,6 +3,7 @@
 use Data::Dumper;
 use Decision::ParseTree q{ParseTree};
 use YAML qw/LoadFile Dump DumpFile/;
+use Getopt::Std;
 
 Ikariam::Cities->has_a(island => 'Ikariam::Island');
 
@@ -41,6 +42,7 @@
 }
 
 package main;
+getopts('w');
 if($#ARGV < 2) {
     die("Usage: %s targetCity navyCity armyCity wingman1.. wingman2..\n");
 }
@@ -66,9 +68,14 @@
 push (@cities, $city);
 
 # wingman, army
-foreach my $cityId (@wingman) {
+foreach my $i (0..$#wingman) {
+    my $cityId = $wingman[$i];
     my $city = LoadFile(sprintf("city-%s-dump.yaml", $cityId));
-    $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 20);
+    if(defined($opt_w)) {
+        $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 20) - ($i * 20 + 20);
+    } else {
+        $city->{distance} = travelTime($targetCity->island->x, $targetCity->island->y, $city->{island}->{x}, $city->{island}->{y}, 20);
+    }
     push (@cities, $city);
 }