我应该通过一个应用来控制汽车比赛。 所以在一场比赛中,我有例如5辆车。我想知道这辆车在每个转弯的位置,最后一次,以及所有车的最佳回合。现在我想知道什么样的数据结构是最好的解决方案。
我创建了这个对象:
package Auto;
import java.security.Timestamp;
public class Macchina {
Integer corsia;
Integer giro;
Timestamp ultimoTempo;
Timestamp migliorTempo;
public void setCorsia(Integer corsia) {
this.corsia = corsia;
}
public void setGiro(Integer giro) {
this.giro = giro;
}
public Timestamp getUltimoTempo() {
return ultimoTempo;
}
public void setUltimoTempo(Timestamp ultimoTempo) {
this.ultimoTempo = ultimoTempo;
}
public Timestamp getMigliorTempo() {
return migliorTempo;
}
public void setMigliorTempo(Timestamp migliorTempo) {
this.migliorTempo = migliorTempo;
}
public Macchina(int c, int g)
{
this.corsia=c;
this.giro=g;
}
public int getCorsia(){
return corsia;
}
public int getGiro(){
return giro;
}
}
此类用于存储比赛中汽车的信息。
答案 0 :(得分:1)
请记住,汽车有速度。 赛道上有距离和赛车。 您的对象设计应该反映出来。
根据汽车的属性数量,您可能不需要汽车对象。
如果您计划扩展赛车计划,您可能需要一个抽象的车辆类。特别是如果赛道变得复杂,汽车变得多变。
如果您只想在离散时间找到类似汽车位置的东西,并且当汽车到达一定距离时,则可能会出现以下情况。 伪代码:
track {
int length, time, Maxtime;
array<int> carSpeeds, carPositions;
main(){
Maxtime=100;
for(time=1; time<MaxTime; time++){
for(int j= 0; j < carSpeeds.size(); j++){
carPositions[j] = time*careSpeed // reset for each lap.
// if position is greater than track length, you might have a winner or a tie.
}
}
}
}
您可以添加最大距离和其他内容。
如果你想最终模拟具有扭曲能力的太空飞船赛车到各种航点,水下城市之间的潜艇比赛,以及带有快捷方式的越野赛车,代码应具有高内聚力和低耦合性。但是,许多迭代中的第一个可能看起来与上面类似。