Skip to content

ERDASSS/Hitori

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Головоломка Hitori

Данное приложение имеет 2 режима работы: интерактивный и режим решения.

Интерактивный режим.

Программа генерирует карту головоломки Hitori (с размерами от 3 до 5), которую можно решить внутри программы.

Режим решения.

Решает введеную головоломку с размерами от 3 до 9

Также представлены 3 типа правил 1-Classic 2-Extended, 3-Triangle. Classic - классическое Hitori с квадратным полем, Extended - Hitori с прямоугольным полем и дополнительным условием: закрашенные клетки не могут находится по диагонали, Triangle - Hitori с треугольным полем со следующими правилами: так как в тругольниках нет прямых вертикальных линий, их заменяют диагональные. Пример:

  [1]
 2 [3]
[1] [3] 2 

в квадратных скобках выделены конфликтующие клетки, диагонали в этом треугольнике:1, 2, 1; 1, 3, 3; 2, 3; 3, 3; 1; 2, ну и конечно учитываются горизонтальные линии.

Чтобы запустить программу необходимо запустить файл main.py с консоли (python main.py). Далее следует выбор правил, и затем выбор режима работы. Для установки нужных библиотек введите: pip install -r requrements.txt

Запуск в интерактивном режиме

python3 main.py

Решение головоломки через командную строку:

python3 main.py -s "4,2,4;1,5,5;1,1,5"  -m Classic -a
  • флаг -s --solve принимает строку с данными о головоломке

    • форматы, которые принимаются:
      • "x,y,z...;a,b,c...;..."
      • "x y z ... a b c ..."
      • Для Extended в формате выше требуется приписать размер поля: "x y z ... a b c ...:[widht]x[height]"
  • флаг -f --file принимает строку с путём до файла .txt, в котором лежат данные о головоломке

    • Для режима Triangle поле задается только через файл
     python3 main.py -f "Tests/Boards/board_4.txt"  -m Triangle -a
    • Принимаемый формат такой же, с добавлением формата, в котором в качестве разделителя строк используется \n:
      4 2 3
      1 4 2
      2 3 4
      1 4 2
      
  • Вместе с флагом -s или -f нужно указать флаг режима головоломки -m --mode: Classic, Extended, Triangle

  • Флаг -a --all используется для отображения всех решений головоломки


Примеры команд

Решение Extended головоломки, с указанием всех решений

python3 main.py -s "4 2 3 1 4 2 2 3 4 1 4 2:3x4"  -m Extended -a

Решение Сlassic головоломки, с указанием всех решений

python3 main.py -s "6 3 7 4 2 5 7 1 7 4 3 7 5 5 7 1 2 1 3 4 7 7 7 2 1 4 1 2 3 1 6 7 5 7 1 4 2 5 7 6 1 2 2 3 7 6 2 3 4" -m Classic -a

Решение Extended головоломки в файле

python3 main.py -f "Tests/Boards/board_1.txt" -m Extended

Решение Triangle головоломки в файле, с указанием всех решений

python3 main.py -f "Tests/Boards/board_4.txt"  -m Triangle -a

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages