Get-BestMove
Получить наилучший ход по указанному критерию. Для поиска ходов используется функция Find-MovesThreeInRow.
Параметры
-ListMoves Список ходов.
-Criteria Критерий, по которому будет выбран наилучший ход.
TotalItems - максимальное количество итемов.
MAxLengthInRow - максимальная длина в ряд.
TotalItem - необходимый итем.
Intersection - есть пересечения.
-Item Необходимый итем.
Возвращаемое значение
Hashtable
Property Description Start Точка старта End Точка финиш TotalItems Общее количество итемов MaxLen Максимальная длина в ряд Values Хеш таблица с именами и количеством итемов
Примеры
-
Wake up, Neo, select all
cls
$Field = [char[,]]::new(4, 5) # массив 4*5
# заполнить массив
$Field[0, 0] = '0'; $Field[1, 0] = '1'; $Field[2, 0] = '1'; $Field[3, 0] = '0';
$Field[0, 1] = '2'; $Field[1, 1] = '2'; $Field[2, 1] = '3'; $Field[3, 1] = '2';
$Field[0, 2] = '2'; $Field[1, 2] = '1'; $Field[2, 2] = '1'; $Field[3, 2] = '3';
$Field[0, 3] = '3'; $Field[1, 3] = '1'; $Field[2, 3] = '2'; $Field[3, 3] = '0';
$Field[0, 4] = '1'; $Field[1, 4] = '3'; $Field[2, 4] = '2'; $Field[3, 4] = '1';
Show-FieldConsole $Field # показать в консоли
$Moves = Find-MovesThreeInRow -Field $Field # найти все возможное ходы
$Move = Get-BestMove $Moves -Criteria TotalItems
$Move.Start, $Move.End