AI Refactoring2009Crab
From The Battle for Wesnoth Wiki
CURRENT
extract gamestate-changing actions from AI code to separate classes.
Proposed syntax (A):
ai_move_command move_my_leader = execute_move_unit_command(from,to); if (move_my_leader.ok()){ ai_recruit_command recruit = execute_recruit_command(); if (!recruit.ok()){ ... } }
DONE
r34723 AI Refactoring: changed 'team' to 'side' when it means 'side number that starts from 1'.
r34720 AI Refactoring: Moved location of ai_interface::info to ai_manager. Now using a single copy of ai_interface::info for all AIs, and using get_info() accessor to get it from AIs. Also, fixed side to be unsigned int where it is possible.
r34719 AI Refactoring: removed unused turn_data_ from ai_interface::info
r34705 AI Refactoring. Extracted 'team number' and 'master' from ai_interface::info. This makes ai_interface::info ai-independent and allows to push it out of ai.