Я хочу создать структуру данных с OOP для эмуляции траффика c ситуации в гоночной игре. Требования приведены ниже:
- Каждое транспортное средство может знать, в каком положении полосы движения, какой полосы движения и на каком участке дороги оно движется.
- Для каждой дороги , он может знать, сколько транспортных средств на нем, и сколько транспортных средств на каждой полосе на дороге.
- (плюс) У каждого транспортного средства есть своя стратегия вождения. Например, некоторым транспортным средствам нравится быстро двигаться, а другим - медленнее.
Я использую java для реализации этой топи c. В настоящее время мои объекты, как показано ниже. Я просто знаю, что для этого могут потребоваться двунаправленные отношения между Vehicle
и Road
/ RoadSection
, но я не знаю, как это реализовать.
class Lane {
List<Vehicle> vehicleDrivingOnMe = new ArrayList<Vehicle>()
}
class RoadSection {
int roadSectionLengthByKM
/**
* Integer: LaneID, example: 0 for overspeed
*/
Map<Integer, Lane> lanes = new HashMap<Integer, Lane>()
}
class Road {
List<RoadSection> roadSectionList = new ArrayList<RoadSection>()
}
class Vehicle {
int drivingSpeedByKM
}
Тогда моя проблема Какие элементы я должен добавить в какой объект для выполнения требований 1 и 2? Любое предложение приветствуется.