## Uses of Class
s3games.ai.Heuristic

- Packages that use Heuristic
  Package | Description
  --- | ---
  s3games.ai |
  s3games.player |

- - ### Uses of Heuristic in s3games.ai

    Subclasses of Heuristic in s3games.ai
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DistanceFromGoalHeuristic` a heuristic that compares the number of different elements from the target situation
    `class` | `MoreStonesHeuristic` a heuristic class that counts the number of elements of both players on the board.
    `class` | `Puzzle8Heuristic` A heuristic class for the puzzle8 game.

    Fields in s3games.ai declared as Heuristic
    Modifier and Type | Field and Description
    --- | ---
    `protected Heuristic` | Strategy.`heuristic` if the strategy needs a heuristic, it is stored here

    Methods in s3games.ai that return Heuristic
    Modifier and Type | Method and Description
    --- | ---
    `static Heuristic` | Heuristic.`getHeuristic(java.lang.String name, GameSpecification specs)` constructor method that creates a heuristic of the specified type

    Methods in s3games.ai with parameters of type Heuristic
    Modifier and Type | Method and Description
    --- | ---
    `static Strategy` | Strategy.`getStrategy(java.lang.String name, Heuristic h)` get a strategy instance of the specified name
    `void` | Strategy.`setHeuristic(Heuristic heuristic)` set a heuristic that this strategy should be using

    Constructors in s3games.ai with parameters of type Heuristic
    Constructor and Description
    `AStarStrategy(Heuristic h)` construct an instance of the strategy
    `MiniMaxStochasticStrategy(Heuristic h)` constructor requires a heuristic for evaluating states that are beyond the time limit
    `MiniMaxStrategy(Heuristic h)` constructor requires a heuristic for evaluating states that are beyond the time limit

  - ### Uses of Heuristic in s3games.player

    Constructors in s3games.player with parameters of type Heuristic
    Constructor and Description
    `AStarPlayer(GameSpecification specs, Heuristic heuristic)` construct a new A* player for the specified game with the given heuristic
    `MiniMaxPlayer(GameSpecification specs, Heuristic heuristic)` create a minimax player for the specified game with the heuristic provided
    `MiniMaxStochasticPlayer(GameSpecification specs, Heuristic heuristic)` create a minimax player for the specified game with the heuristic provided