Найти в Дзене
Герман Геншин

Вот это жесть! Нашёл, как бросать любые игральные кубики прямо из терминала Linux — мгновенно для любой настолки и ролевки!

О терминале Linux обычно думают как о рабочем инструменте — настроить систему, обновить пакеты, выполнить полезную команду. Кажется, что на этом его возможности заканчиваются. Но на самом деле терминал может удивить! Он легко превращается в генератор случайных бросков для настольных игр. Да-да, самый обычный терминал способен заменить целый мешок костей для «настолок». Наверняка ты спросишь: а почему не взять настоящие кубики? Всё логично: кости — сердце «Монополии», «Катана» или Dungeons & Dragons, именно они решают победу и часто становятся поводом для ожесточённых споров. Но с настоящими кубиками свои беды: вечно укатываются под диван, теряются, исчезают до следующей партии. А дешёвые комплекты ещё и фальшивят — из-за неравного веса выпадают одни и те же стороны. Случайности, как не бывало... Особенно весело, если по правилам надо бросить целую горсть кубиков: одни путаются в подсчётах, другие пересчитывают результат по десять раз — вместо наслаждения игрой идёт подсчёт очков. А уж
Оглавление

Быстрые ссылки по теме

О терминале 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? Тут всё просто: три двадцатигранника.

Пример: бросаем один кубик

Попробуем классический шестигранник. Вбей в терминал:

-2

Пример: бросаем крупный кубик

А если хочется двадцатигранник? Это база для Dungeons & Dragons и множества ролевок! Просто укажи d20:

-3

Пример: бросаем несколько кубиков сразу

Просто, правда? Теперь — сразу несколько кубов одним броском. Например, три шестигранных:

-4

Применяем модификаторы

В большинстве ролевых настолок к броску добавляются или вычитаются модификаторы — сила персонажа, штраф за сложность или что-нибудь подобное. rolldice всё это учитывает автоматически — сам вручную считать не придется!

Например, четыре восьмигранника с бонусом 2 (ну, герой мощный) — делается так:

-5

Вообрази: выпало 3, 5, 7 и 2, в сумме 17, плюс бонус 2, получается 19! Терминал сосчитает сам — никакой путаницы даже в самых жарких партиях.

В Dungeons & Dragons практически каждый бросок с модификатором. Больше не надо пересчитывать вручную: просто играешь, а терминал за тебя считает.

Одновременный бросок разных наборов кубиков

Надо бросить, скажем, 2d6 и 1d8 вместе? Просто напиши оба запроса друг за другом — терминал обработает всё сразу:

-6

Способ 2: бросаем кости через команду shuf

Не хочется ставить сторонние программы или оказался где-то вдали от Wi-Fi только с чистым Linux? Не беда! Для бросков отлично подойдет команда shuf (входит в стандартный набор GNU coreutils).

Обычно shuf перемешивает строки или случайно выбирает значение из диапазона — а для нас это идеальный генератор бросков!

Сначала покажу на фруктах, как работает shuf — чтобы было понятно:

-7

Теперь с параметром -i можно задать диапазон чисел — вот и подставка для любого кубика.

Бросаем шестигранник через shuf

Чтобы «подбросить» d6, введи:

-8

Разберёмся, что делает каждая часть команды:

Бросаем сразу несколько кубиков с помощью shuf

Для трёх шестигранников нужно лишь изменить параметр -n:

-9

Каждый бросок появится на отдельной строке. В отличие от rolldice, shuf не суммирует значения, так что считать итог придётся вручную — либо можно автоматизировать стандартными средствами терминала.

-10

Кубик на любое количество граней

Нужен 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 — ультра-минимализм без установок и лишней суеты, а заодно способ блеснуть своими командными навыками!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в: