mirror of
https://github.com/ZGCA-Forge/Elevator.git
synced 2026-02-04 05:15:19 +00:00
Fix: client completed_passengers calculation error
This commit is contained in:
@@ -162,12 +162,13 @@ class PassengerInfo(SerializableModel):
|
|||||||
arrive_tick: int
|
arrive_tick: int
|
||||||
pickup_tick: int = 0
|
pickup_tick: int = 0
|
||||||
dropoff_tick: int = 0
|
dropoff_tick: int = 0
|
||||||
|
arrived: bool = False
|
||||||
elevator_id: Optional[int] = None
|
elevator_id: Optional[int] = None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def status(self) -> PassengerStatus:
|
def status(self) -> PassengerStatus:
|
||||||
"""乘客状态"""
|
"""乘客状态"""
|
||||||
if self.dropoff_tick > 0:
|
if self.arrived:
|
||||||
return PassengerStatus.COMPLETED
|
return PassengerStatus.COMPLETED
|
||||||
elif self.pickup_tick > 0:
|
elif self.pickup_tick > 0:
|
||||||
return PassengerStatus.IN_ELEVATOR
|
return PassengerStatus.IN_ELEVATOR
|
||||||
|
|||||||
@@ -457,6 +457,7 @@ class ElevatorSimulation:
|
|||||||
passenger = self.passengers[passenger_id]
|
passenger = self.passengers[passenger_id]
|
||||||
if passenger.destination == current_floor:
|
if passenger.destination == current_floor:
|
||||||
passenger.dropoff_tick = self.tick
|
passenger.dropoff_tick = self.tick
|
||||||
|
passenger.arrived = True
|
||||||
passengers_to_remove.append(passenger_id)
|
passengers_to_remove.append(passenger_id)
|
||||||
|
|
||||||
# Remove passengers who alighted
|
# Remove passengers who alighted
|
||||||
|
|||||||
Reference in New Issue
Block a user