【发布时间】:2020-01-18 04:19:16
【问题描述】:
我想用 OOP 设计一个数据结构来模拟赛车游戏中的交通状况。 要求如下:
- 每辆车都可以知道它行驶在车道的哪个位置、哪个车道以及哪一段路段。
- 对于每条道路,它可以知道路上有多少辆车,以及道路上每条车道上有多少辆车。
- (加号)每辆车都有自己的驾驶策略。例如,有些车辆喜欢开快,而有些车辆喜欢慢。
我使用java来实现这个主题。目前我的对象如下。我只知道这可能需要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?任何建议表示赞赏。
【问题讨论】:
标签: java oop data-structures racing