Mercurial > eagle-eye
diff sheep.pl @ 324:7077be1a14d5
count travel time
author | "Rex Tsai <chihchun@kalug.linux.org.tw>" |
---|---|
date | Wed, 11 Feb 2009 21:04:27 +0800 |
parents | efffa408eec5 |
children | 6296a9cd6878 |
line wrap: on
line diff
--- a/sheep.pl Sun Feb 08 15:18:51 2009 +0800 +++ b/sheep.pl Wed Feb 11 21:04:27 2009 +0800 @@ -40,6 +40,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)); +} + sub listSheeps { my @sheeps = @_; @@ -77,7 +83,8 @@ # $capture = $capture - ($sheep->army_score_main*100); $line = sprintf("%d %s score %d army %d risk %d %s/%s,", - $capture, + travelTime($::x, $::y, $island->x, $island->y), + # $capture, $c->status, $sheep->score, $sheep->army_score_main, $c->risk, $sheep->name, $sheep->ally); $line .= sprintf("\"%s\" %d [%d,%d] %s http://%s/index.php?view=island&id=%d&selectCity=%d\n", @@ -97,7 +104,7 @@ __MAIN__: if($#ARGV != 1) { die("Usage: $0 x y\n"); } -my ($x, $y) = @ARGV; +our ($x, $y) = @ARGV; listSheeps(Ikariam::User->search_sheeps(($x + 6), ($x - 6), ($y + 6), ($y - 6))); # listSheeps(Ikariam::User->search_inactivity(($x + 6), ($x - 6), ($y + 6), ($y - 6)));