changeset 28:99723b8f348b

added rule_corruption
author "Rex Tsai <chihchun@kalug.linux.org.tw>"
date Fri, 10 Oct 2008 04:42:05 +0800
parents dd85b55eec2a
children dbec53e754e3
files Ikariam.pm inference.pl
diffstat 2 files changed, 16 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Ikariam.pm	Fri Oct 10 03:38:49 2008 +0800
+++ b/Ikariam.pm	Fri Oct 10 04:42:05 2008 +0800
@@ -299,10 +299,11 @@
         }
 
         # Space, 房屋數
+        $self->{'cities'}->{$cityId}->{"space"} = {};
         foreach my $j (qw/occupied total/) {
             my ($elem) = $html->getElementsByAttribute("class", sprintf("value %s", $j));
             if(defined($elem)) {
-                $self->{'cities'}->{$cityId}->{"space_" . $j} = $elem->innerText();
+                $self->{'cities'}->{$cityId}->{"space"}->{$j} = $elem->innerText();
             }
         }
 
--- a/inference.pl	Fri Oct 10 03:38:49 2008 +0800
+++ b/inference.pl	Fri Oct 10 04:42:05 2008 +0800
@@ -24,7 +24,7 @@
 {
     my $id = shift;
 
-    if($cities->{$id}->{happiness} > 3) {
+    if($cities->{$id}->{happiness} >= 3) {
         Warn($id, sprintf("is not happy (%s)!", $cities->{$id}->{happiness_text}));
     }
 }
@@ -36,13 +36,24 @@
     # checking goods
     foreach my $good (qw/wood wine marble crystal/) {
         if($cities->{$id}->{$good} <= 100) {
-            Warn($id, sprintf("Running out %s!", $good));
+            Warn($id, sprintf("Running out %s (%d)!", $good, $cities->{$id}->{$good}));
         }
     }
 }
 
+# 貪腐
+sub rule_corruption
+{
+    my $id = shift;
+
+    if($cities->{$id}->{corruption} > 0) {
+        Warn($id, sprintf("corruption is %d", $cities->{$id}->{corruption}));
+    }
+}
+
+# space
 # Checking rules
-foreach my $procedure (qw/rule_happiness rule_resource/) {
+foreach my $procedure (qw/rule_happiness rule_corruption rule_resource/) {
     foreach my $id (keys(%$cities)) {
         eval(sprintf("%s(%s);", $procedure, $id));
     }