!4|,2      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None &'7=>?HV_halma#A move of piece on a (Halma) board.halmastart positionhalma3end position, must be different from start positionhalma=Map from board positions to the team occupying that position.halmaHalma gaming piece halmaplayer halmanumber between 1 and 15 halma!The corner where the team starts. halma-The six corners of a star-shaped halma board.halmaXNumbers of fields on each straight edge of a star-shaped halma board of the given size.halma:Total number of fields on a halma board of the given size.halmaFrom the point of view of the given corner: On which row lies the given field? The row through the center is row zero, rows nearer to the corner have positive, rows nearer to the opposite corner negative numbers.halmaRThe corner corresponding to a direction on a star-shaped board of the given size.halma5The position of the corner field where a team starts.halma.The position of the end zone corner of a team.halma'The start positions of a team's pieces.halmaThe end zone of the given team. halma#Construct halma boards. Satisfies 2fromMap (getGrid board) (toMap board) = Just board.!halma7Lookup whether a position on the board is occupied, and"halmavMove a piece on the halma board. This function does not check whether the move is valid according to the Halma rules.$   !"#$     !"#None>HV!XChalmajRender the board using the helper function for drawing the fields. Supports querying for field positions.DhalmaURender the board using the given team colors. Supports querying for field positions.BCDBCDNone'GhalmaMay pieces be moved backwards?Hhalma,May pieces be moved into other star corners?Jhalma'moves of this kind of field are allowedKhalma2the player can pass the field but cannot occupy itLhalma)the player can't pass or occupy the fieldMhalma(Computes all possible moves for a piece.Nhalma.Has a team all of it's pieces in the end zone? EFGHIJKLMN IJKLEFGHMNNone' XZY[\]^_ \XZY[]^_None( ddNone*bhalma@The perspective of the first team as opposed to the second team.halma7Find the best move or one that reaches the given bound.eeSafe4* fghijklmnopqr fghijklmnopqrNone &'456=>?EX+vxwyz{|}~yz{|}~vwx       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLLMNOPQRSTUVWXYZ[\]^_^`abcdefghiijjklmnopqrstuvwxyz{|}~$halma-0.3.0.1-BhzHnXmtMTpI3RqVPjb4X3Game.Halma.BoardGame.Halma.Board.DrawGame.Halma.RulesGame.Halma.AI.BaseGame.Halma.AI.IgnorantGame.Halma.AI.CompetitiveGame.TurnCounterGame.Halma.ConfigurationMovemoveFrommoveTo HalmaBoardgetGridtoMapPiece pieceTeam pieceNumberTeamHalmaDirectionNorth Northeast SoutheastSouth Southwest Northwest HalmaGrid SmallGrid LargeGrid sideLengthnumberOfFieldsoppositeDirectionleftOfrowsInDirectioncorner startCorner endCorner startFields endFieldsfromMaplookupHalmaBoard movePiece initialBoard$fBoundedGridHalmaGrid$fFiniteGridHalmaGrid$fGridHalmaGrid$fFromJSONHalmaGrid$fToJSONHalmaGrid$fFromJSONHalmaDirection$fToJSONHalmaDirection$fFromJSONPiece $fToJSONPiece$fFromJSONHalmaBoard$fToJSONHalmaBoard$fFromJSONMove $fToJSONMove $fEqHalmaGrid$fShowHalmaGrid$fOrdHalmaGrid$fEqHalmaDirection$fShowHalmaDirection$fReadHalmaDirection$fOrdHalmaDirection$fBoundedHalmaDirection$fEnumHalmaDirection$fGenericHalmaDirection $fShowPiece $fEqPiece $fOrdPiece$fEqHalmaBoard$fShowHalmaBoard $fShowMove$fEqMovedefaultTeamColours drawBoard' drawBoard RuleOptionsmovingBackwardsinvadingMoveRestrictionAllowed Temporarily Forbidden possibleMoves hasFinished$fFromJSONMoveRestriction$fToJSONMoveRestriction$fDefaultRuleOptions$fFromJSONRuleOptions$fToJSONRuleOptions$fShowMoveRestriction$fEqMoveRestriction$fShowRuleOptions$fEqRuleOptionsRatingWinInLossInoutcomerateTeam allOwnPieces allLegalMoves$fBoundedRating $fOrdRating $fShowRating $fEqRatingaiMove TurnCounter tcPlayers tcCounternewTurnCounternextTurn nextTurnWith previousTurnpreviousTurnWith currentPlayer nextPlayerpreviousPlayer currentRound$fEqTurnCounter$fShowTurnCounter$fFunctorTurnCounter ConfigurationconfigurationGridconfigurationPlayers HalmaPlayers TwoPlayers ThreePlayers FourPlayers FivePlayers SixPlayers configurationtwoPlayersOnSmallGridthreePlayersOnSmallGridplayersOnLargeGrid setSmallGrid setLargeGridaddPlayerToConfignewGame$fFromJSONHalmaPlayers$fToJSONHalmaPlayers$fFromJSONConfiguration$fToJSONConfiguration$fEqHalmaPlayers$fShowHalmaPlayers$fFunctorHalmaPlayers$fFoldableHalmaPlayers$fTraversableHalmaPlayers$fEqConfiguration$fShowConfiguration$fFunctorConfiguration$fFoldableConfiguration$fTraversableConfiguration PerspectiveprunedMinMaxSearch