Система управления железнодорожным вокзалом
📖 Описание
Добро пожаловать в проект "Система управления железнодорожным вокзалом" — консольное приложение, реализованное на языке программирования Ruby. Этот проект предназначен для отработки навыков и принципов программирования, включая:
- Объектно-ориентированный дизайн
- Композицию и наследование
- Работа с исключениями
- Принципы DRY (Don't Repeat Yourself), SoC (Separation of Concerns) и SOLID
- Продвинутые техники, такие как метапрограммирование и работа с модулями
- Чистый и читаемый стиль кода
🎮 Особенности
- Консольный интерфейс для взаимодействия с пользователем
- Обработка исключений для устойчивости приложения
- Использование ООП для организации кода
✔️ Возможности
Управление станциями:
- Создание станций: Пользователь может создать станцию, указав ее название.
- Прием поездов: На станцию можно принимать поезда.
- Просмотр поездов: Доступен список всех поездов, находящихся на станции в данный момент.
- Фильтрация по типу: Пользователь может фильтровать поезда по типу (грузовые или пассажирские).
- Отправка поездов: Поезда можно отправлять со станции.
Управление маршрутами:
- Создание маршрутов: Пользователь может создать маршрут, указав начальную и конечную станции.
- Добавление промежуточных станций: В маршрут можно добавлять промежуточные станции.
- Удаление промежуточных станций: Также можно удалять промежуточные станции из маршрута.
- Просмотр станций маршрута: Доступен список всех станций маршрута в порядке их следования.
Управление поездами:
- Создание поездов: Пользователь может создать поезд, указав его номер, тип и количество вагонов.
- Управление скоростью: Возможность набирать скорость и тормозить (сбрасывать скорость до нуля).
- Информация о поезде: Пользователь может получить данные о текущей скорости и количестве вагонов.
- Прицепка и отцепка вагонов: Возможность прицеплять или отцеплять вагоны.
- Назначение маршрута: Поезду можно назначить маршрут, и он автоматически помещается на первую станцию маршрута.
- Перемещение между станциями: Поезд может перемещаться между станциями маршрута, двигаясь вперед и назад (по одной станции за раз).
- Информация о станциях: Доступ к информации о предыдущей, текущей и следующей станциях на маршруте.
🚀 Запуск
Для запуска системы необходимо открыть файл main.rb в вашей среде разработки или терминале и выполнить его.
ruby main.rb