nrubik — кубик Рубика в терминале ncurses
Установка
Первый шаг — получить исходники из репозитория calebabutler:
git clone https://github.com/cheertarts/nrubik.gitКоманда создаст папку nrubik с исходным кодом в текущем каталоге.
Перейдите в неё:
cd nrubikСделайте исполняемый файл nrubik исполняемым:
chmod +x nrubikТеперь вы можете запускать программу из этой папки командой ./nrubik или установить её в систему. Для работы требуется интерпретатор Python с поддержкой curses — подойдёт Python 2 или Python 3, но предпочтительнее Python 3.
Установить глобально (потребуются права администратора):
sudo cp nrubik /usr/binИли скопировать в локальный bin, если он есть в PATH:
cp nrubik $HOME/.local/binВажно: убедитесь, что папка назначения присутствует в вашей переменной PATH. Если вы используете систему с менеджером пакетов или контейнеры, можно адаптировать эти шаги под вашу среду.
Важное: Если терминал не поддерживает цветовые пары ncurses или у вас кастомная конфигурация терминала, часть цветов может отображаться некорректно. См. раздел «Отладка» ниже.
Команды и интерфейс

При первом запуске терминал покажет случайную раскладку цифрового кубика Рубика.
Слева экрана отображаются подсказки с доступными клавишами, сам кубик — справа.
Управление основывается на клавишах:
- w, x, a, d, s, e — повороты граней по часовой стрелке вдоль трёх осей;
- m — перемешать кубик (scramble);
- h — показать или скрыть список команд и подсказок;
- Ctrl+C или стандартный способ выхода из терминала — для выхода из программы.
Логика отображения граней следующая. Сверху вниз вы видите «заднюю» грань над «верхней». Ряд из трёх блоков показывает слева направо «левую», «правую» и «переднюю» грани. Внизу находится «нижняя» грань. Такая компоновка привычна для текстового представления куба и помогает ориентироваться при вращениях.
Цвета и представление
Для удобства в восьмицветных терминалах nrubik заменяет оригинальный оранжевый цвет на пурпурный. В интерфейсе грань всё ещё обозначается как Orange, а на панели — буква O.

Цвета зависят от вашей темы терминала. В некоторых схемах «белый» может выглядеть очень тёмным. Независимо от палитры, буквенные обозначения граней всегда одинаковы: W, Y, O, R, G, B — это белый, жёлтый, оранжевый (представлен пурпурным), красный, зелёный и синий.
Совет: если цвета выглядят плохо, попробуйте другую тему терминала или включить 256-color режим, если он поддерживается.
Решение и пример победы
Хотя интерфейс текстовый, кубик вполне решаем. Если хотите проверить, как выглядит финальное состояние, посмотрите на скриншот победы автора репозитория.

Если вы не знакомы с алгоритмами сборки кубика Рубика, начните с простого метода: сначала соберите крест на одной грани, затем углы первой стороны, затем средний слой, и в конце — ориентируйте и переставляйте элементы последней грани. Интерфейс не накладывает ограничений на последовательность ходов, поэтому можно практиковать классические последовательности.
Полезные приёмы и короткие советы
- Начинающим: потренируйтесь только с базовыми вращениями, не пытаясь учить алгоритмы сразу. Понимание пространственной ориентации важнее.
- Для ускорения: запомните соответствие клавиш к осям — это сократит время при вращениях.
- Если хотите начать заново: нажмите m для перемешивания.
- Подсказки скрываются/показываются клавишей h.
Мини-методология обучения в терминале:
- Освойте повороты одной стороны (w/a/s/d/x/e).
- Потренируйтесь визуально читать раскладку граней на экране.
- Перейдите к базовому решению в 3 шага: крест, слои, финальная ориентация.
- Увеличивайте сложность, сравнивая свои ходы с теми, что применяют для реального кубика.
Отладка и часто встречающиеся проблемы
Проблема: программа не запускается, ошибка curses.
- Причина: Python без поддержки curses (Windows и некоторые сборки). Решение: запускать в Unix-подобной системе или через WSL на Windows.
Проблема: цвета выглядят неправильно.
- Причина: используемая тема терминала или ограничение на 8 цветов. Решение: переключите терминал в 256-color режим или смените тему.
Проблема: команда установки не работает из-за прав.
- Решение: используйте sudo для глобальной установки или установите локально в ~/.local/bin и убедитесь, что папка есть в PATH.
Проблема: отсутствует исполняемый режим.
- Решение:
chmod +x nrubikи повторный запуск.
- Решение:
Контрольные списки по ролям
Для пользователя:
- Проверить наличие Python 3.
- Клонировать репозиторий.
- Дать права на исполнение и запустить
./nrubik. - Настроить PATH при локальной установке.
Для системного администратора:
- Разместить бинарник в
/usr/binили другом согласованном каталоге. - Проверить зависимости системы на наличие поддержки ncurses.
- При необходимости настроить системный профиль с правильной темой терминала.
Для разработчика/конрибьютора:
- Проверить кроссплатформенную совместимость (Python 2 vs 3).
- Добавить тесты на корректность цветовых пар в разных терминалах.
- Рассмотреть возможность упаковки в пакет для менеджеров (deb, rpm).
Краткий глоссарий
- ncurses — библиотека для создания текстовых пользовательских интерфейсов в терминале.
- scramble — перемешивание кубика для нового рандомного старта.
- грань (face) — одна из шести сторон кубика.
Заключение
nrubik — простой и занимательный способ играть с кубиком Рубика прямо в терминале. Программа не требует графического окружения и хорошо подходит для тех, кто любит минималистичные интерфейсы или хочет потренировать пространственное мышление в консоли.
Краткое резюме: установка проста, управление интуитивное, а опыт зависит от вашей привычки к клавиатурным схемам и теме терминала. Удачи в сборке!
Заметки:
- При проблемах с цветами сначала проверьте возможности терминала и интерпретатора Python.
- Если вы активно используете проект, рассмотрите форк и улучшение поддержки 256-color и документации.
Похожие материалы
Отключить загрузку запросов в Power BI
Как воспроизводить медиа на Smart TV
Как изменить размер изображения в Paint 3D
Автообновление дашбордов Power BI
Как получить доступ к Google Bard AI в Индии