# Package s3games.player

- Class Summary
  Class | Description
  --- | ---
  AbstractMonteCarloPlayer | Holds common code shared by all monte-carlo players
  AStarPlayer | A* algorithm player that utilizes a heuristic
  BreadthFirstSearchPlayer | Standard Breadth-first-search player for one-player games.
  CameraPlayer | Camera player is utilizing the camera controller object to read the moves made by human on the real-world board
  DepthFirstSearchPlayer | Standard Depth-first-search player for one-player games.
  MiniMaxPlayer | Minimax player searches the game tree in a breadth-first search manner, taking the best result on the players move and the worst result on the opponent move into account.
  MiniMaxStochasticPlayer | Extension of the standard minimax player that considers only some of the moves in each game state hoping to search more in depth
  MonteCarloClassicPlayer | This is the default version of monte carlo player, it only looks at the number of won trials compared to the number of all trials
  MonteCarloRatioPlayer | A version of a monte-carlo player that calculates the winning trials scaled with a quotient that is calculated as a multiply of 1/N_i constants, where N_i is branching in the opponent move state.
  MonteCarloRatioPlayer2 | Monte carlo player where trials have differnt weight - depending on the depth of the trial - the deeper the trial (the more moves needed), the lower its contribution to the overall scores
  MousePlayer | Mouse player represents a human playing using/clicking the mouse in the window with graphical visualisation of the game board
  Player | A general super-class for all player types.
  RandomGeneralPlayer | Always plays a random move - can be used in any game

- Enum Summary
  Enum | Description
  --- | ---
  MiniMaxPlayer.NodeType | opened nodes are MAX if it is this player's turn, states when it is opponent's turn are MIN
  Player.boardType | the type of game board where the game can be played
  Player.playerType | the types of players