Documentation
¶
Index ¶
- Constants
- type Direction
- type SlidingBlocksBoard
- func (sl *SlidingBlocksBoard) AStar(size int) [4][4]int
- func (sl *SlidingBlocksBoard) FindStartPosition(size int) (int, int)
- func (sl *SlidingBlocksBoard) GetAllMoves(size int) []Direction
- func (sl *SlidingBlocksBoard) GetMove(currentTile int, size int) Direction
- func (sl *SlidingBlocksBoard) InitializeByHand(size int, choice string, endX int, endY int) [4][4]int
- func (sl *SlidingBlocksBoard) InitializeRandom(size int, endX int, endY int) [4][4]int
- func (sl *SlidingBlocksBoard) InitializeRandomForString(size int, endX int, endY int) [4][4]string
- func (sl *SlidingBlocksBoard) IsReachedDestination(tiles [4][4]int, size int) bool
- func (sl *SlidingBlocksBoard) ManhattanDistance(size int) int
- func (sl *SlidingBlocksBoard) New(tiles [4][4]int) [4][4]int
- func (sl *SlidingBlocksBoard) PrintMatrix(size int, choice string)
- func (sl *SlidingBlocksBoard) ReturnMove(copiedBoard [4][4]int, step Direction, size int) [4][4]int
- func (sl *SlidingBlocksBoard) SwapTiles(copiedBoard [4][4]int, indexFirstRow int, indexFirstColumn int, ...) [4][4]int
- func (sl *SlidingBlocksBoard) UserPlay(size int, choice string)
- func (sl *SlidingBlocksBoard) VisitedMoves(size int) map[Direction][4][4]int
Constants ¶
View Source
const ( LEFT = Direction(iota) RIGHT UP DOWN )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SlidingBlocksBoard ¶
type SlidingBlocksBoard struct {
// contains filtered or unexported fields
}
func (*SlidingBlocksBoard) AStar ¶
func (sl *SlidingBlocksBoard) AStar(size int) [4][4]int
func (*SlidingBlocksBoard) FindStartPosition ¶
func (sl *SlidingBlocksBoard) FindStartPosition(size int) (int, int)
return all visited and available moves
func (*SlidingBlocksBoard) GetAllMoves ¶
func (sl *SlidingBlocksBoard) GetAllMoves(size int) []Direction
return all possible moves for the current board
func (*SlidingBlocksBoard) GetMove ¶
func (sl *SlidingBlocksBoard) GetMove(currentTile int, size int) Direction
return enum (direction) according to the current tile of the board
func (*SlidingBlocksBoard) InitializeByHand ¶
func (sl *SlidingBlocksBoard) InitializeByHand(size int, choice string, endX int, endY int) [4][4]int
initialize board by user
func (*SlidingBlocksBoard) InitializeRandom ¶
func (sl *SlidingBlocksBoard) InitializeRandom(size int, endX int, endY int) [4][4]int
initialize board random
func (*SlidingBlocksBoard) InitializeRandomForString ¶
func (sl *SlidingBlocksBoard) InitializeRandomForString(size int, endX int, endY int) [4][4]string
initialize board with string
func (*SlidingBlocksBoard) IsReachedDestination ¶
func (sl *SlidingBlocksBoard) IsReachedDestination(tiles [4][4]int, size int) bool
check whether the board is solved
func (*SlidingBlocksBoard) ManhattanDistance ¶
func (sl *SlidingBlocksBoard) ManhattanDistance(size int) int
calculate manhattan distance of the board
func (*SlidingBlocksBoard) New ¶
func (sl *SlidingBlocksBoard) New(tiles [4][4]int) [4][4]int
func (*SlidingBlocksBoard) PrintMatrix ¶
func (sl *SlidingBlocksBoard) PrintMatrix(size int, choice string)
function to print board
func (*SlidingBlocksBoard) ReturnMove ¶
func (sl *SlidingBlocksBoard) ReturnMove(copiedBoard [4][4]int, step Direction, size int) [4][4]int
function returning the board after swapping two tiles according to the direction
func (*SlidingBlocksBoard) SwapTiles ¶
func (sl *SlidingBlocksBoard) SwapTiles(copiedBoard [4][4]int, indexFirstRow int, indexFirstColumn int, indexSecondRow int, indexSecondColumn int) [4][4]int
swap two values in the board
func (*SlidingBlocksBoard) UserPlay ¶
func (sl *SlidingBlocksBoard) UserPlay(size int, choice string)
function for user
func (*SlidingBlocksBoard) VisitedMoves ¶
func (sl *SlidingBlocksBoard) VisitedMoves(size int) map[Direction][4][4]int
return all visited and available moves
Click to show internal directories.
Click to hide internal directories.