changeset 67:6eccb3a95df5

refiended the research of tech tree, and added many todos
author "Rex Tsai <chihchun@kalug.linux.org.tw>"
date Wed, 22 Oct 2008 06:24:01 +0800
parents 9356eafcdde7
children 4ba1e981716d
files agent.pl building.yaml
diffstat 2 files changed, 83 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/agent.pl	Tue Oct 21 16:41:30 2008 +0800
+++ b/agent.pl	Wed Oct 22 06:24:01 2008 +0800
@@ -16,7 +16,7 @@
     return bless $self, $class;
 }
 
-sub is_Attacked {
+sub is_attacked {
     my ($self, $city) = @_;
     return ($city->{force}->{attacks} > 0 ) ? 1 : 0;
 }
@@ -123,6 +123,25 @@
     return (defined($city->{research}->{2040}) ?  1 : 0);
 }
 
+sub is_invention_researched {
+    my ($self, $city) = @_;
+    return (defined($city->{research}->{3040}) ?  1 : 0);
+}
+
+sub is_barracks_level_enough {
+    my ($self, $city) = @_;
+    return 0 if(!defined($city->{building}->{barracks}));
+    return ($city->{building}->{barracks} >= 3 ? 1 : 0);
+    return 0;
+}
+
+sub is_shipyard_level_enough {
+    my ($self, $city) = @_;
+    return 0 if(!defined($city->{building}->{shipyard}));
+    return ($city->{building}->{shipyard} >= 2 ? 1 : 0);
+    return 0;
+}
+
 sub rule_engagement
 {
     my ($self, $city) = @_;
@@ -177,7 +196,7 @@
         }
     }
     # Debug
-    print(Dumper($cities->{$cityId}->{parse_path}));
+    # print(Dumper($cities->{$cityId}->{parse_path}));
 }
 
 $i->logout;
--- a/building.yaml	Tue Oct 21 16:41:30 2008 +0800
+++ b/building.yaml	Wed Oct 22 06:24:01 2008 +0800
@@ -1,7 +1,7 @@
 ---
 # 基本建設規則
 # 檢查是否被攻擊
-- is_Attacked:
+- is_attacked:
     # we are in Peace :D
     0:
       - is_constructing:
@@ -13,26 +13,23 @@
            # 財富
             - is_wealth_researched:
                0: research_economy
-               1: 
-                  # 擴張
-                  - is_expansion_researched:
-                     0: research_seafaring
-                     1:
-                        # 造紙
-                        - is_paper_researched:
-                           0: research_knowledge
-                           1:
-                              # 釀酒
-                              - is_winepress_researched:
-                                 0: research_economy
-                                 1:
-                                    # 正規軍
-                                    - is_professionalarmy_researched:
-                                       0: resaerch_military
+            # 擴張
+            - is_expansion_researched:
+               0: research_seafaring
+            # 造紙
+            - is_paper_researched:
+               0: research_knowledge
+            # 正規軍
+            - is_professionalarmy_researched:
+               0: resaerch_military
+            # 釀酒
+            - is_winepress_researched:
+               0: research_economy
+            # 發明
+            - is_invention_researched:
+               0: research_knowledge
          # let's find something to build up
          0:
-            # 確認是否為主城
-            # 確認是否有學院
             - is_gold_enoughforcargo:
                1: increaseTransporter
             - is_wall_enough:
@@ -53,13 +50,56 @@
                         - is_drydock_researched: 
                            0: resaerch_military
                            1: build_shipyard
+                           # build one board
             - is_happiness:
                0: 
                   - is_winepress_researched:
-                     0: research_economy
+                     # 0: research_economy
                      1: build_tavern
-                     # reduce_trvern
-            # 是主城, 可隨意建任一尚未搭建之建築
+
+            # TODO
+            # http://ikariam.wikia.com/wiki/List_of_buildings
+            # http://ikariam.wikia.com/wiki/Technology_Tree
+            # is_conservation_researched
+            #    -build_warehouse
+            # build_academy
+            # build_palace (Expansion, Capital only)
+            # build_embassy (副城, 不建)
+
+            - is_professionalarmy_researched:
+               1:
+                  - is_shipyard_level_enough:
+                     - build_shipyard
+            - is_professionalarmy_researched:
+               1:
+                  - is_barracks_level_enough:
+                     - build_barracks
+            # is_invention_researched
+            # biuld_workshop 
+            # biuld_hideout
+            #
+            # build_museum
+
+            # 皇宮
             # 副城, 不建 ...
     # 採取防禦措施
     1: run_defense
+    # 若軍分 0, 進行焦土政策 針對特定城市 錢全部買船 拆港
+    # increaseTransporter
+    # destroy TradingPort
+    #
+    # 計算出兵數量、到達時間與調動時間
+    # 調動軍隊防護 (加入封鎖列表)
+
+    # (保留兵力) 出兵對方城鎮, 拆港, keep gold
+    # (保留兵力) 出兵任一城鎮, 拆港, keep gold
+
+# blocking
+# 計算軍方比例
+# 對方軍分 0, # 海軍一日三次, 每次八小時 # 陸軍每日三次, 八小時一次
+# 對方平等軍分, 半夜偷襲
+# 對方高軍分 # 累積分數
+#
+# balance resources
+# 從其他城移動資源到特定城市
+# 預先計算可能需要的資源