我想用 OOP 设计一个数据结构来模拟赛车游戏中的交通情况。要求如下:
- 每辆车都可以知道它在车道的哪个位置、哪条车道和哪一段路段上行驶。
- 对于每条道路,它可以知道有多少车辆在上面,以及道路上的每条车道有多少车辆。
- (加)每辆车都有它的驾驶策略。例如,有些车辆喜欢开快,而有些喜欢慢。
我使用java来实现这个主题。目前我的对象如下。Vehicle
我只知道这可能需要and 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?任何建议表示赞赏。