Mercurial > eagle-eye
annotate enemy.pl @ 272:3730817e3079
show travel time from my cities to enemy's cities
author | "Rex Tsai <chihchun@kalug.linux.org.tw>" |
---|---|
date | Mon, 01 Dec 2008 14:15:01 +0800 |
parents | 5f9bb3042d0c |
children | f81c4f9d267f |
rev | line source |
---|---|
8
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
1 #!/usr/bin/perl |
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
2 use strict; |
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
3 use Ikariam; |
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
4 use Data::Dumper; |
272
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
5 use YAML qw/LoadFile/; |
8
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
6 |
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
7 package main; |
18 | 8 my @tradegoodText = qw/NULL 葡萄酒 大理石 水晶 硫磺/; |
9 my @wonderText = qw/NULL 赫菲斯拓斯的熔爐 蓋亞的神殿 狄奧尼索斯的花園 雅典娜的神殿 赫秘士的神殿 阿瑞斯的要塞 波賽頓的神殿 克羅瑟斯的神殿/; | |
8
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
10 |
272
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
11 Ikariam::User->has_many(cities => 'Ikariam::Cities'); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
12 |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
13 sub travelTime { |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
14 my ($x1, $y1, $x2, $y2, $speed) = @_; |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
15 $speed = 20 unless(defined($speed)); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
16 return int( (sqrt((abs($x1 - $x2) * abs($x1 - $x2)) + (abs($y1 - $y2) * abs($y1 - $y2)))+1) * (400/$speed)); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
17 } |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
18 |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
19 sub myTownToVicim { |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
20 my $islandId = shift; |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
21 |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
22 my @cities = (); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
23 foreach (glob("city-*-dump.yaml")) { |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
24 my $city = LoadFile($_); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
25 push (@cities, $city); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
26 } |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
27 my $n = $#cities; |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
28 |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
29 if(my $island = Ikariam::Island->retrieve($islandId)) { |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
30 for my $x (0..$n) { |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
31 printf("%s\t- ", $cities[$x]->{name}); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
32 printf("Land %3d Ship %3d Catapult %3d Ram %3d\n", |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
33 travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y), |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
34 travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 8), |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
35 travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 6), |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
36 travelTime($cities[$x]->{island}->{x}, $cities[$x]->{island}->{y}, $island->x, $island->y, 10), |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
37 ); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
38 } |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
39 } |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
40 } |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
41 |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
42 package main; |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
43 |
8
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
44 if($#ARGV != 0) { |
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
45 die("Usage: $0 nickname\n"); |
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
46 } |
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
47 |
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
48 my ($u) = Ikariam::User->search('name' => $ARGV[0]); |
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
49 if(defined($u)) { |
18 | 50 foreach my $i (qw/name score trader_score_secondary army_score_main ally/) { |
51 printf("%s: %s\n", $i, $u->get($i)); | |
52 } | |
53 printf("\nCities\n"); | |
54 foreach my $city ($u->cities) { | |
55 my $island = Ikariam::Island->retrieve($city->island); | |
44 | 56 my $capture = $city->citylevel * ($city->citylevel - 1) * $u->trader_score_secondary / 10000; |
38
0863b32e1a05
counting for the capture we can get from the enemy
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
27
diff
changeset
|
57 |
18 | 58 printf("Name: %s\n", $city->cityname); |
272
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
59 if(defined($city->status)) { |
20
5635e75c92d0
the user profile is also cached for 1 hour.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
18
diff
changeset
|
60 printf("Status: <<<%s>>>\n", $city->status); |
5635e75c92d0
the user profile is also cached for 1 hour.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
18
diff
changeset
|
61 } |
18 | 62 printf("Level: %s\n", $city->citylevel); |
63 printf("Island: %s\n", $island->name); | |
78
4120f560f214
fixed the server name.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
44
diff
changeset
|
64 printf("Location: [%s:%s] http://%s/index.php?view=island&id=%s&selectCity=%d\n", |
4120f560f214
fixed the server name.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
44
diff
changeset
|
65 $island->x, $island->y, $::server, $island->id, $city->cityId); |
18 | 66 printf("Tradegood: %s\n", $tradegoodText[$island->tradegood]); |
38
0863b32e1a05
counting for the capture we can get from the enemy
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
27
diff
changeset
|
67 printf("Wonder: %s\n", $wonderText[$island->wonder]); |
272
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
68 printf("Capture: %d\n", $capture); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
69 myTownToVicim($island->id); |
3730817e3079
show travel time from my cities to enemy's cities
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
97
diff
changeset
|
70 printf("\n"); |
8
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
71 } |
97
5f9bb3042d0c
refined the output.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
78
diff
changeset
|
72 print "-"x80 . "\n"; |
8
e4b3168d0319
implemented sheep and enemy scripts.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff
changeset
|
73 } |