Быстрые ссылки по теме
О терминале Linux обычно думают как о рабочем инструменте — настроить систему, обновить пакеты, выполнить полезную команду. Кажется, что на этом его возможности заканчиваются. Но на самом деле терминал может удивить! Он легко превращается в генератор случайных бросков для настольных игр. Да-да, самый обычный терминал способен заменить целый мешок костей для «настолок».
Зачем бросать кости в терминале?
Наверняка ты спросишь: а почему не взять настоящие кубики? Всё логично: кости — сердце «Монополии», «Катана» или Dungeons & Dragons, именно они решают победу и часто становятся поводом для ожесточённых споров.
Но с настоящими кубиками свои беды: вечно укатываются под диван, теряются, исчезают до следующей партии. А дешёвые комплекты ещё и фальшивят — из-за неравного веса выпадают одни и те же стороны. Случайности, как не бывало...
Особенно весело, если по правилам надо бросить целую горсть кубиков: одни путаются в подсчётах, другие пересчитывают результат по десять раз — вместо наслаждения игрой идёт подсчёт очков. А уж с такими «монстрами» как d100 вообще беда: огромные, неудобны, цифры мелкие, а на столе только мешаются.
Терминал снимает все эти проблемы за пару секунд! Хочешь d20 или даже d100? Просто введи команду — и нужный результат уже на экране. Все кости будут честными, ничего не улетит под шкаф, а любой вид кубика «под рукой» — дома, на даче, в дороге. Открыл терминал — и партия спасена!
Плюс ты удивишь друзей: никакие сайты и приложения не нужны — одна команда в терминале и ты, как магистр! Заодно это веселый и ненапряжный способ подружиться с Linux — команды теперь не пугают, если с их помощью можно устроить мини-приключение или сколотить свой генератор бросков прямо в bash!
Способ 1: ставим программу rolldice в Linux
Пора на практике попробовать бросить кости через терминал. Самый простой способ — программа rolldice. Она понимает привычную ролевую запись NdM (например, 3d6 2), так что можно одним махом бросать хоть один, хоть несколько кубиков с модификаторами.
Как установить rolldice
Установка зависит от дистрибутива Linux.
Для Debian/Ubuntu:
Для Fedora/RHEL всё так же просто — команда немного отличается:
В Arch/Manjaro rolldice есть в AUR. Можно поставить через любой помощник, например через yay.
Когда установка закончена, проверь — всё ли работает. Набери команду:
Если появится ошибка вместо версии программы — попробуй переустановить rolldice.
Как использовать rolldice
rolldice максимально прост — вводишь в терминале команду по принципу NdM, где N — число кубиков, а M — сколько у них граней.
Обычный шестигранник — это 1d6 (то есть один кубик на шесть граней).
Хочешь бросить три шестигранника разом? Набирай 3d6. А 3d20? Тут всё просто: три двадцатигранника.
Пример: бросаем один кубик
Попробуем классический шестигранник. Вбей в терминал:
Пример: бросаем крупный кубик
А если хочется двадцатигранник? Это база для Dungeons & Dragons и множества ролевок! Просто укажи d20:
Пример: бросаем несколько кубиков сразу
Просто, правда? Теперь — сразу несколько кубов одним броском. Например, три шестигранных:
Применяем модификаторы
В большинстве ролевых настолок к броску добавляются или вычитаются модификаторы — сила персонажа, штраф за сложность или что-нибудь подобное. rolldice всё это учитывает автоматически — сам вручную считать не придется!
Например, четыре восьмигранника с бонусом 2 (ну, герой мощный) — делается так:
Вообрази: выпало 3, 5, 7 и 2, в сумме 17, плюс бонус 2, получается 19! Терминал сосчитает сам — никакой путаницы даже в самых жарких партиях.
В Dungeons & Dragons практически каждый бросок с модификатором. Больше не надо пересчитывать вручную: просто играешь, а терминал за тебя считает.
Одновременный бросок разных наборов кубиков
Надо бросить, скажем, 2d6 и 1d8 вместе? Просто напиши оба запроса друг за другом — терминал обработает всё сразу:
Способ 2: бросаем кости через команду shuf
Не хочется ставить сторонние программы или оказался где-то вдали от Wi-Fi только с чистым Linux? Не беда! Для бросков отлично подойдет команда shuf (входит в стандартный набор GNU coreutils).
Обычно shuf перемешивает строки или случайно выбирает значение из диапазона — а для нас это идеальный генератор бросков!
Сначала покажу на фруктах, как работает shuf — чтобы было понятно:
Теперь с параметром -i можно задать диапазон чисел — вот и подставка для любого кубика.
Бросаем шестигранник через shuf
Чтобы «подбросить» d6, введи:
Разберёмся, что делает каждая часть команды:
Бросаем сразу несколько кубиков с помощью shuf
Для трёх шестигранников нужно лишь изменить параметр -n:
Каждый бросок появится на отдельной строке. В отличие от rolldice, shuf не суммирует значения, так что считать итог придётся вручную — либо можно автоматизировать стандартными средствами терминала.
Кубик на любое количество граней
Нужен d20, d50 или даже d100? Меняй диапазон как тебе угодно:
shuf — быстрый универсальный способ, но проще чем rolldice: не поддерживает форматы 3d6 2 и не считает сумму. Но если надо срочно — выручает на любом Linux!
Способ 3: броски через Bash с переменной $RANDOM
Есть и третий лайфхак — встроенная переменная $RANDOM в bash. Работает даже без единой дополнительной утилиты! Каждый вызов $RANDOM отдаёт случайное число от 0 до 32767. Немного арифметики — и это стандартный бросок любого кубика.
Бросок d6 через $RANDOM
Для шестигранника просто пропиши в терминале:
Внутри команды случайное число превращается в диапазон от 1 до 6 через обычную арифметику.
Бросок двадцатигранника через Bash
Хочешь d20? Меняй число в формуле — и всё сработает:
Несколько бросков через Bash — учимся кругам :)
Есть заодно отличный шанс натренироваться писать циклы в bash! Вот так можно бросить три шестигранника подряд (3d6) — разбив на строки, чтобы было понятно каждое действие (и проще отлавливать баги):
Вводи строки по порядку — терминал покажет символ >, пока цикл не завершится:
Есть и короткий вариант — всё в одну строку через точку с запятой (;). Это пушка, но если ошибёшься — отлаживать труднее.
Нажал Enter — сразу получаешь цепочку бросков. Однострочник компактнее, но не так дружелюбен для новичков.
Даже если только начал изучать терминал — этими трюками ты уже сможешь «крутить» любые кубики. Идеально для вечера настольных игр с друзьями! Забудь о потере костей — терминал справится за всех.
Кратко: rolldice — функционал настоящей настолки, с модификаторами и итоговыми результатами, супербыстрый. shuf — моментальный и независимый метод для случайных чисел из любого места. $RANDOM в bash — ультра-минимализм без установок и лишней суеты, а заодно способ блеснуть своими командными навыками!
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru