Интеллектор - настольная игра с гексагональным полем наподобие шахмат.
В интеллектор играют 2 игрока, за белых и чёрных соответственно. Каждый по очереди ходит своими фигурами. Цель - срубить вражескую фигуру "Интеллектор". В отличие от классических шахмат с квадратными клетками, в интеллекторе доска состоит из шестиугольных ячеек:
Подробнее узнать об игре, а также ознакомиться с правилами, вы можете на официальном сайте игры
Данный проект - реализация Интеллектора в виде компьютерной игры.
Текущая версия проекта представляет собой консольное приложение, написанное на ncurses.
Программа работает в терминале и поддерживает только ввод с клавиатуры, засчёт чего не требует графической оболочки для использования.
Этот проект является учебным в рамках 1 курса программы "Прикладная математика и информатика" Санкт-Петербургской Высшей Школы Экономики, 2019-2020 гг.
Операционная система: OS Linux или MacOS
Терминал, поддерживающий 256 цветов. Чтобы это проверить, введите
$ tput colors
Значение должно быть равно 256.
-
ncurses
$ sudo apt install libncurses5-dev libncursesw5-dev
При разработке данного приложения использовалась версия 6.1. Впрочем, более старые версии тоже должны работать.
-
doctest
Используется для тестирования
$ sudo apt install doctest-dev
Использовалась версия 2.3.7, но и более старые версии должны работать.
Вы можете установить указанные зависимости из репозиториев для своей операционной системы.
Также вы можете скачать наиболее новые стабильные версии библиотек и собрать их из исходников:
Также для разработки программы используется figlet, позволяющий создавать ASCII картинки и баннеры.
Для сборки запустите скрипт:
$ ./build.sh
Для запуска после сборки:
$ ./start.sh
Вы можете перемещаться по меню с помощью клавиш w
, s
, а также стрелок вверх 🠕
и вниз 🠗
. Выбор пункта меню происходит при нажатии на пробел
.
На поле вы можете перемещать курсор с помощью клавиш q
,w
,e
,a
,s
,d
в соответствии с направлением грани шестиугольника:
Для выделения фигуры переместите на неё курсор и нажмите пробел
У фигуры подсветятся поля, доступные для хода. Вы можете переместить курсор на одно из них и снова нажать пробел
, тогда фигура сходит на это поле. Вы также можете нажать нажать пробел
на выделенной вами фигуре, тогда с неё снимется выделение. Другой способ снять выделение - нажать клавишу c
(clear selection).
После того, как вы сходили, наступает ход противника. В зависимости от настроек, следующим ходит либо ваш оппонент, играющий с вами за одним компьютером по очереди, либо бот определенного уровня сложности.
В игре также поддерживается история ходов. Чтобы показать её, нажмите h
, справа появится боковое меню истории с совершенными ходами. Чтобы скрыть его, также нажмите h
.
Чтобы отменить ход, нажмите u
, чтобы обратно повторить его, нажмите Shift-u
.
В ситуации, когда вы дошли пешкой до последнего ряда поля, вы можете выбрать фигуру, в которую хотите превратиться. Это можно сделать с помощью клавиш r
и f
, пролистывая доступные фигуры, а затем выбрать нужную и сходить на пробел
.
Чтобы выйти из игры и вернуться в главное меню, вы можете нажать x
или Esc
(в некоторых терминалах после нажатия Esc
нужно нажать его ещё раз или подождать пару секунд).
Обратите внимание, что на данный момент игра работает только на английской раскладке клавиатуры. Следите за тем, нажат ли у вас Caps Lock
- с ним игра работать также не будет.
В игре есть ряд вкладка с рядом настроек:
- Настройка уровня сложности бота - от 1 до 6
- Настройка цветовой темы:
- Classic
- Dracula
- Snow blue