The main package of the ai package tree.

{@link net.sf.freecol.server.ai.AIMain} has the responsibility for creating and managing AI-objects. An instance of {@link net.sf.freecol.server.ai.AIObject} stores AI-specific information relating to a single FreeColGameObject.


Communication with the server

The server uses a Connection when communicating with the clients. The subclass {@link net.sf.freecol.server.networking.DummyConnection DummyConnection} is used for the computer controlled players, in order to avoid unnecessary network traffic. {@link net.sf.freecol.server.ai.AIInGameInputHandler} handles the messages received on the DummyConnection and calls the appropriate methods in {@link net.sf.freecol.server.ai.AIPlayer}. An example: the method {@link net.sf.freecol.server.ai.AIPlayer#startWorking} gets invoked when it is the AI-player's turn.