/// <summary> /// Gets a hint from the AI /// </summary> /// <param name="gameInformation"></param> /// <returns></returns> public virtual AIDecision GetHint(AiGameInformation gameInformation) { if (!Capabilities.ProvidesHints) { throw new InvalidOperationException("This AI is incapable of providing hints."); } return(RequestMove(gameInformation)); }
/// <summary> /// Requests a move from the AI /// </summary> /// <param name="gameInformation"></param> /// <returns></returns> public abstract AIDecision RequestMove(AiGameInformation gameInformation);