Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Station
- # Каждый класс должен быть в отдельном файле
- attr_reader :station_name, :stations
- def initialize(station_name)
- # Лучше просто name назвать
- @station_name = station_name
- # Лучше просто trains назвать
- @train_list = []
- end
- # Разделяй методы пустой строкой
- def add_train(train)
- @train_list << train
- end
- def send_train(train)
- @train_list.delete(train)
- end
- end
- class Route
- attr_reader :stations, :station_name
- def initialize(start_station, end_station)
- @stations = [start_station, end_station]
- end
- def add_route(stations)
- @stations.insert(-2, stations)
- end
- # Разделяй методы пустой строкой
- def delete_route(stations)
- @stations.delete(stations)
- end
- # Сделай чтобы метод выводил названия станций
- def show_stations
- return stations
- end
- end
- class Train
- attr_reader :train_number, :train_type, :stations
- # пробел после initialize не нужен
- # параметры лучше назвать просто number и type
- # и так понятно что это номер поезда, т.к в классе поезда
- # находится
- def initialize (train_number, train_type)
- @train_number = train_number
- @train_type = train_type
- @train_length = 10 # лучше назвать @wagons_count
- @train_route = []
- @current_station_index = 0 # лучше вынести в метод
- # get_route
- # добавь @speed = 0
- end
- def stop
- # когда внутри класса пишем self.field = value
- # мы вызываем сеттер. Но для speed у тебя нет сеттера
- # обращайся напрямую к инстанс переменной @speed
- self.speed = 0
- end
- # сделай чтобы метод принимал приращение скорости в качестве параметра
- def go
- self.speed = 50
- end
- def add_wagon
- @train_length += 1 if speed == 0
- end
- def delete_wagon
- @train_length -= 1 if speed == 0
- end
- def get_route(route)
- @train_route.clear
- @train_route << route
- end
- def current_station
- @route.stations[@current_station_index]
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement