Профессиональный генератор бросков 20-гранного кубика (d20) для терминала с анимацией и статистикой. Написан на Bash с полным тестовым покрытием.
$ d20
CRIT! 🎯
$ d20
🎲 12
$ d20
FAIL! 💀
- 🌀 Плавная анимация броска
- 🎯 Автоматическое определение критов (20) и фейлов (1)
- ✅ 100% тестовое покрытие (BATS + стресс-тесты)
- 📊 Поддержка статистики при массовых бросках
- 🔧 Простая установка (Makefile)
- 🐧 Совместимость с большинством Unix-систем
git clone https://github.com/codetsar/d20-cli.git
cd d20-cli
make install # Требует sudoАльтернативная установка без прав root:
make install PREFIX=~/.localОдиночный бросок:
d20Массовый бросок (20 раз):
for i in {1..20}; do 20; sleep 0.5; doneТест статистики (1000 бросков):
./test/stress_test.shЗапуск всех тестов:
make testИндивидуальные тесты:
bats tests/test_dice.bats # Юнит-тесты
./tests/integration_test.sh # Интеграционные тесты
./tests/stress_test.sh # 1000 бросковАлгоритм: Генерация через /dev/urandom (криптографически безопасно)
Анимация: 5 кадров с гарантированным исключением 1 и 20
Вывод: Всегда ровно одна строка результата
Обработка ошибок: Автоматическое определение конфликтов вывода
- Bash 4.0+
- GNU coreutils
- BATS (для тестов)