Парадокс Монти Холла в виде кода :)
Решил изобразить парадокс Монти Холла через игру с дверьми.
Сделал легко расширяемым возможность добавления новых действий:
Учел, что нужно валидировать вводимые данные пользователем. Для это сделал свой STDIN клиент и добавил для него валидоры, а также сделал их легко расширяемыми:
Не было условия, что понятия "дверь", "автомобиль" и "коза" могут измениться, но в идеале нужно добавить абстракцию от этого.
Установка зависимостей:
bundle
Запуск консоли:
bin/console
Запуск игры:
MontyHallProblem::Game.start
Установка зависимостей:
bundle
Тесты:
bundle exec rspec
Линтинг:
bundle exec rubocop