annotate ally.pl @ 232:978a949602e5

Auto-update Scientists numbers for Academy. Refined the rules for safehouse, the safe house must be same or higher level then Town Hall. Make people very happy, when the townHall is less then 16. Build museum first then tavern THG: changed warfare.pl
author "Rex Tsai <chihchun@kalug.linux.org.tw>"
date Thu, 06 Nov 2008 20:31:05 +0800
parents a60cf4d1a6dd
children dd3d76f43999
rev   line source
21
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
1 #!/usr/bin/perl
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
2 use strict;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
3 use Ikariam;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
4 use Data::Dumper;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
5 use List::Util qw[min max];
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
6
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
7 package main;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
8
23
54ab0becd730 implemented a prototype for collecting account status.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents: 21
diff changeset
9 # my $users = Ikariam::User->search(ally => 'WMeMe');
54ab0becd730 implemented a prototype for collecting account status.
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents: 21
diff changeset
10
21
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
11 Ikariam::Cities->set_sql(ally => qq {
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
12 SELECT cities.id
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
13 FROM island, cities
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
14 WHERE cities.island == island.id
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
15 AND cities.ally == ?
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
16 });
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
17
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
18 Ikariam::Island->has_many(cities => 'Ikariam::Cities');
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
19 Ikariam::Island->set_sql(ally => qq {
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
20 SELECT island.id
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
21 FROM island, cities
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
22 WHERE cities.island == island.id
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
23 AND cities.ally == ?
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
24 });
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
25
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
26 die("Usage: $0\nUsage: $0 ally\n") unless ($#ARGV == 0);
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
27
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
28 my @islands = Ikariam::Island->search_ally($ARGV[0]);
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
29 my %maps;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
30
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
31 my $x1 = 99;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
32 my $x2 = 0;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
33 my $y1 = 99;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
34 my $y2 = 0;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
35
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
36 foreach my $island (@islands)
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
37 {
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
38 $x1 = min ($x1, $island->x);
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
39 $x2 = max ($x2, $island->x);
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
40 $y1 = min ($y1, $island->y);
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
41 $y2 = max ($y2, $island->y);
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
42
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
43 $maps{$island->x}{$island->y}{'id'} = $island->id;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
44 $maps{$island->x}{$island->y}{'density'} += 1;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
45 # printf("[%s,%s]", $island->x, $island->y);
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
46 }
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
47
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
48 open(OUT, sprintf(">%s-map.html", $ARGV[0])) or die $!;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
49 printf(OUT "<html><head><style type=\"text/css\">
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
50 body {color: #FFFFFF; }
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
51 a {color: #000000; }
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
52 table {
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
53 border-width: 0px 0px 0px 0px;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
54 border-spacing: 0px;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
55 border-style: inset inset inset inset;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
56 border-color: gray gray gray gray;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
57 border-collapse: collapse;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
58 background-color: white;
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
59 }
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
60 </style></head><body><table border=1>");
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
61
169
a60cf4d1a6dd fixed url and axis
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents: 23
diff changeset
62 foreach my $y($y1..$y2)
21
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
63 {
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
64 print(OUT "<tr>");
169
a60cf4d1a6dd fixed url and axis
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents: 23
diff changeset
65 foreach my $x ($x1..$x2)
21
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
66 {
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
67 # printf("<div stlye='float:left; background-color: black; padding: 0; Display:inline;'>o</div>");
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
68 if(defined($maps{$x}{$y}{'density'})) {
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
69 my $c = 255 - (15 * $maps{$x}{$y}{'density'});
169
a60cf4d1a6dd fixed url and axis
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents: 23
diff changeset
70 printf(OUT "<td style=\"background-color: rgb(255,%d,%d);\"><a href=\"http://%s/index.php?view=island&id=%d\" title=\"[%d,%d] (%d)\">[%d,%d]</a></td>",
a60cf4d1a6dd fixed url and axis
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents: 23
diff changeset
71 $c, $c, $::server, $maps{$x}{$y}{'id'}, $x, $y, $maps{$x}{$y}{'density'}, $x, $y);
21
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
72 } else {
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
73 printf(OUT "<td style=\"background-color: rgb(255,255,255);\">[%d,%d]</td>", $x, $y);
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
74 }
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
75 }
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
76 print(OUT "</tr>");
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
77 }
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
78 printf(OUT "</table></body></html>");
d5e02a25b000 map generator for ally
"Rex Tsai <chihchun@kalug.linux.org.tw>"
parents:
diff changeset
79 close(OUT);