# HG changeset patch # User "Rex Tsai " # Date 1224627841 -28800 # Node ID 6eccb3a95df549920a984c30c9cfbd756c10e79e # Parent 9356eafcdde7784c6eb7107e4a6b62e159330720 refiended the research of tech tree, and added many todos diff -r 9356eafcdde7 -r 6eccb3a95df5 agent.pl --- 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; diff -r 9356eafcdde7 -r 6eccb3a95df5 building.yaml --- 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 +# 從其他城移動資源到特定城市 +# 預先計算可能需要的資源