Global

Members

B :CellState

B представляет пустую клетку
Type:
  • CellState
Source:

n4emptBrd :Board

Пустая доска с размерностью n=4
Type:
  • Board
Source:

n4solBrd :Board

Решение для доски с размерностью 4
Type:
  • Board
Source:

Q :CellState

Q представляет пустую клетку
Type:
  • CellState
Source:

Methods

benchmark(startSizeOfBoard, endSizeOfBoard) → {true}

Тест производительности. Передайте начальный размер доски и конечный размер доски, тест посчитает сколько занимает поиск решения для каждой доски в этом интервале
Parameters:
Name Type Description
startSizeOfBoard Natural Начальный размер доски
endSizeOfBoard Natural Конечный размер доски
Source:
Returns:
Тест закончился
Type
true

createEmptyBoard(n) → {Board}

Создает пустую доску n*n элементов
Parameters:
Name Type Description
n Natural Размерность доски
Source:
Returns:
Type
Board

fillBlanks(b) → {array.<Board>}

Создает массив досок в которых в каждой пустой клетке исходной доски стоит фигурка
Parameters:
Name Type Description
b Board Исходная доска
Source:
Returns:
Type
array.<Board>

fillSquare(b, p, v)

Ставит на доску в данную позицию данное значение (ферзь или пустая)
Parameters:
Name Type Description
b Board Доска
p Natural Позиция
v Q | B Ферзь или пустая?
Source:

getBoardSize(Доска) → {Natural}

Считает размерность доски исходя из количества элементов
Parameters:
Name Type Description
Доска Board
Source:
Returns:
Размерность доски
Type
Natural

getFiguresPos(curPos, board) → {array.<Integer>}

Возвращает массив со всеми позициями фигурок на доске
Parameters:
Name Type Description
curPos Integer Текущая позиция
board Board Доска
Source:
Returns:
Type
array.<Integer>

isSolved(b) → {Boolean}

Является ли данная доска решением?
Parameters:
Name Type Description
b Board
Source:
Returns:
Type
Boolean

isValid(b) → {Boolean}

Проверяет валидна ли доска
Parameters:
Name Type Description
b Board Доска
Source:
Returns:
true - доска валидна, иначе false
Type
Boolean

keepOnlyValid(lob) → {array.<Board>}

Фильтрует массив досок оставляя только те доски в которых ни одна фигурка не атакует другую
Parameters:
Name Type Description
lob array.<Board>
Source:
Returns:
Type
array.<Board>

nextBoards(b) → {array.<Board>}

Создает массив потомков данной доски Все несостоятельные доски вырезаются
Parameters:
Name Type Description
b Board
Source:
Returns:
Type
array.<Board>

posToCol(Позиция, Доска) → {Integer}

Переводит позицию фигурки в столбец
Parameters:
Name Type Description
Позиция Integer доски
Доска Board
Source:
Returns:
Колонка на которой стоит фигурка. Zero-base
Type
Integer

posToRow(Позиция, Доска) → {Integer}

Переводит позицию фигурки в строку
Parameters:
Name Type Description
Позиция Integer доски
Доска Board
Source:
Returns:
Строка на которой стоит фигурка. Zero-base
Type
Integer

solve(b) → {Board|false}

Решает проблему n-ферзей
Parameters:
Name Type Description
b Board Доска
Source:
Returns:
Если задача имеет решение - доску, иначе false
Type
Board | false