Гид по технологиям

nrubik — кубик Рубика в терминале ncurses

5 min read Терминальные игры Обновлено 21 Nov 2025
nrubik — Кубик Рубика в терминале
nrubik — Кубик Рубика в терминале

Установка

Первый шаг — получить исходники из репозитория 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 или у вас кастомная конфигурация терминала, часть цветов может отображаться некорректно. См. раздел «Отладка» ниже.

Команды и интерфейс

Интерфейс nrubik: панель управления и сам кубик в текстовой разметке

При первом запуске терминал покажет случайную раскладку цифрового кубика Рубика.

Слева экрана отображаются подсказки с доступными клавишами, сам кубик — справа.

Управление основывается на клавишах:

  • w, x, a, d, s, e — повороты граней по часовой стрелке вдоль трёх осей;
  • m — перемешать кубик (scramble);
  • h — показать или скрыть список команд и подсказок;
  • Ctrl+C или стандартный способ выхода из терминала — для выхода из программы.

Логика отображения граней следующая. Сверху вниз вы видите «заднюю» грань над «верхней». Ряд из трёх блоков показывает слева направо «левую», «правую» и «переднюю» грани. Внизу находится «нижняя» грань. Такая компоновка привычна для текстового представления куба и помогает ориентироваться при вращениях.

Цвета и представление

Для удобства в восьмицветных терминалах nrubik заменяет оригинальный оранжевый цвет на пурпурный. В интерфейсе грань всё ещё обозначается как Orange, а на панели — буква O.

Стартовый экран nrubik в теме Solarized; текстовая цветовая схема терминала влияет на цвет граней

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

Совет: если цвета выглядят плохо, попробуйте другую тему терминала или включить 256-color режим, если он поддерживается.

Решение и пример победы

Хотя интерфейс текстовый, кубик вполне решаем. Если хотите проверить, как выглядит финальное состояние, посмотрите на скриншот победы автора репозитория.

Решённый кубик nrubik: все грани собраны по цветам

Если вы не знакомы с алгоритмами сборки кубика Рубика, начните с простого метода: сначала соберите крест на одной грани, затем углы первой стороны, затем средний слой, и в конце — ориентируйте и переставляйте элементы последней грани. Интерфейс не накладывает ограничений на последовательность ходов, поэтому можно практиковать классические последовательности.

Полезные приёмы и короткие советы

  • Начинающим: потренируйтесь только с базовыми вращениями, не пытаясь учить алгоритмы сразу. Понимание пространственной ориентации важнее.
  • Для ускорения: запомните соответствие клавиш к осям — это сократит время при вращениях.
  • Если хотите начать заново: нажмите m для перемешивания.
  • Подсказки скрываются/показываются клавишей h.

Мини-методология обучения в терминале:

  1. Освойте повороты одной стороны (w/a/s/d/x/e).
  2. Потренируйтесь визуально читать раскладку граней на экране.
  3. Перейдите к базовому решению в 3 шага: крест, слои, финальная ориентация.
  4. Увеличивайте сложность, сравнивая свои ходы с теми, что применяют для реального кубика.

Отладка и часто встречающиеся проблемы

  • Проблема: программа не запускается, ошибка 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 и документации.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Отключить загрузку запросов в Power BI
Power BI

Отключить загрузку запросов в Power BI

Как воспроизводить медиа на Smart TV
Руководство

Как воспроизводить медиа на Smart TV

Как изменить размер изображения в Paint 3D
Руководство

Как изменить размер изображения в Paint 3D

Автообновление дашбордов Power BI
Power BI

Автообновление дашбордов Power BI

Как получить доступ к Google Bard AI в Индии
Искусственный интеллект

Как получить доступ к Google Bard AI в Индии

Запуск 16‑битных приложений в Windows 10 (64‑bit)
Windows

Запуск 16‑битных приложений в Windows 10 (64‑bit)