所以首先event.restart()函数仅在事件具有触发类型时才适用:timeout和mode:user control,否则你的event.restart()函数什么也不做......
其次,你需要在有条件的事件上调用你的函数,但是在停车的那一刻......你可以在carMoveTo块的“退出”动作上执行此操作 .
使用nSpaces代替29可以更好地完成您的功能:
for(int i = 0; i
{
if(parkingLot2.getCarOnSpace(i) != null)
{
return true;
}
}
return false;
您可以使用类似的功能来了解停放的空间,但是您需要有一个单独的数组来收集有关哪些空间是空闲的信息,因为parkingLot对象没有该功能 . 想象一下,你有一个大小为parkingLot2.nSpaces()和布尔元素的数组都以false开头,因为所有停车位都是免费的 . 每当您的汽车进入停车位时,您使用相同的功能,而不是“返回true”,您在该特定索引中将数组设置为true . 当汽车退出时,你必须将数组设置为false .