Architecture (unfinished)

General

The general architecture (match) of JPortal is:



Match architecture


Collected gibberish follows

Current understanding: 24.8.2011 of Enhanced AI processing:

Match → MatchComputerPlayer
→ (Interface) AISituationHAndler, implemented by
→ (abstract) AbstractEnhancedAI
→ (inherited by) EnhancedAI
   → (method) .generatePlan() / / does nothing if current plan already built, and match did not change
      → (class) EAIPlan (built by generatePlan), Plan holds a plan for all round/steps, current round/phase/step is held in variable lastStep
         → within EAIPlan
         → (static method) createSchedules() is called to generate the best fitting EAISchedules (currently known) for all future phases (till a maximum)
         → each phase information is held in (class) EAISchedule[]
         → the generation of these EAISchedules is done in class EAIPlanTree
            → (class) EAIPlanTree generates possible future scenarios, which can be judged by weighting functions
            → root of the tree is built with current game/phase information
            → (method) root.buildLeafs() → generates child (future phases) scenarios

   

→ (method) .executePlan(), gets the current (class) EAIScedule for the current Phase (lastStep)
      → (class) EAIScedule hold actions to be done for the current Phase
      → within .executePlan() (class) EAIActionStack (mSaack) is supplied with the next action from EAIScedule (one by one)
      → (method) executeAction(), which executes the next available action on stack