slidingBlocks3x3

package
v0.0.0-...-1563684 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2019 License: MIT Imports: 9 Imported by: 1

Documentation

Index

Constants

View Source
const (
	LEFT = Direction(iota)
	RIGHT
	UP
	DOWN
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Direction

type Direction int

type SlidingBlocksBoard

type SlidingBlocksBoard struct {
	// contains filtered or unexported fields
}

func (*SlidingBlocksBoard) AStar

func (sl *SlidingBlocksBoard) AStar(size int) [3][3]int

func (*SlidingBlocksBoard) FindStartPosition

func (sl *SlidingBlocksBoard) FindStartPosition(size int) (int, int)

finding the coordinates of the blank position

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) [3][3]int

initialize board by user

func (*SlidingBlocksBoard) InitializeRandom

func (sl *SlidingBlocksBoard) InitializeRandom(size int, endX int, endY int) [3][3]int

initialize board random

func (*SlidingBlocksBoard) InitializeRandomForString

func (sl *SlidingBlocksBoard) InitializeRandomForString(size int, endX int, endY int) [3][3]string

initialize board with string

func (*SlidingBlocksBoard) IsReachedDestination

func (sl *SlidingBlocksBoard) IsReachedDestination(tiles [3][3]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(board [3][3]int) [3][3]int

func (*SlidingBlocksBoard) PrintMatrix

func (sl *SlidingBlocksBoard) PrintMatrix(size int, choice string)

function to print board

func (*SlidingBlocksBoard) ReturnMove

func (sl *SlidingBlocksBoard) ReturnMove(copiedBoard [3][3]int, step Direction, size int) [3][3]int

function returning the board after swapping two tiles according to the direction

func (*SlidingBlocksBoard) SwapTiles

func (sl *SlidingBlocksBoard) SwapTiles(copiedBoard [3][3]int, indexFirstRow int, indexFirstColumn int, indexSecondRow int, indexSecondColumn int) [3][3]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][3][3]int

return all visited and available moves

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL