Explorar el Código

Randomize next floor

master
Ashton Charbonneau hace 3 años
padre
commit
eaa245ba55
Se han modificado 1 ficheros con 5 adiciones y 4 borrados
  1. 5
    4
      elevator.js

+ 5
- 4
elevator.js Ver fichero

@@ -31,6 +31,7 @@ eval({
31 31
 		// returns the closest floor from that list in the given
32 32
 		// direction that is not part of the ignored floors list. Ties
33 33
 		// are broken by even/oddness of the current floor.
34
+		// TODO: fix direction shadowing/usage
34 35
 		function getClosestFloor(currentFloor, floorList, ignoredFloors = new Set(), direction = IDLE) {
35 36
 			const isEven = (currentFloor % 2 == 0);
36 37
 
@@ -46,11 +47,11 @@ eval({
46 47
 					closestFloor = floorNum;
47 48
 					distance = newDistance;
48 49
 				} else if (newDistance == distance && !(ignoredFloors.has(floorNum))) {
49
-					if (isEven && direction == UP) {
50
+					if ((isEven && direction == UP) ||
51
+					    (!isEven && direction == DOWN) ||
52
+					    (direction == IDLE && Math.random() < 0.5)) {
50 53
 						closestFloor = floorNum;
51
-					} else if (!isEven && direction == DOWN) {
52
-						closestFloor = floorNum;
53
-					}
54
+						}
54 55
 				}
55 56
 			});
56 57
 

Loading…
Cancelar
Guardar