aboutsummaryrefslogtreecommitdiff
path: root/V3/AI/IStrategy.cs
blob: 4bfb99c2963a0a27d2d9a1fe246e274c97063eda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
namespace V3.AI
{
    /// <summary>
    /// A strategy for the computer player.  A strategy is a finite state
    /// machine.
    /// </summary>
    public interface IStrategy
    {
        /// <summary>
        /// Updates the current state according to the game situtation.
        /// </summary>
        /// <param name="state">the current state</param>
        /// <param name="worldView">the current view of the game world</param>
        /// <returns>the next state indicated by this strategy</returns>
        AiState Update(AiState state, IWorldView worldView);
    }
}