Skip to content

ElevatorSaga: grey29boss solutions

grey29boss edited this page Jul 13, 2021 · 2 revisions

Привет всем! Я заинтересовался JS, и случайно нашёл эту игру. Первое моё решение было такое:

{
init: function(elevators, floors) {
        var elevator = elevators[0]; // Let's use the first elevator

        // Каждый раз, когда лифт простаивает (больше нет пунктов назначения в очереди) ...
            elevator.on("idle", function() {
        // Пойдем на все этажи (или один забыли?)
            elevator.goToFloor(2);
            elevator.goToFloor(1);
            elevator.goToFloor(0);
        });
update: function(dt, elevators, floors) 
{
            // We normally don't need to do anything here}
}

Лифт просто подымается без остановок на верхний этаж и спускается на самый нижний, с остановками на каждом этаже, это было самое простое, что я мог сделать. Для 1 и 2 уровня это срабатывает, не всегда. Но все равно не понятно как писать код.

Второе решение было использовать elevator.on("up_button_pressed", function(floorNum) // Слушайте событие «up_button_pressed»,

получился такой код:

{
init: function(elevators, floors) {
        var elevator = elevators[0]; // Let's use the first elevator
        // Каждый раз, когда лифт простаивает (больше нет пунктов назначения в очереди) ...
        elevator.on("idle", function() {
            // Пойдем на все этажи (или один забыли?)
            elevator.goToFloor(0);
            elevator.goToFloor(4);
        });
          // Слушайте событие «up_button_pressed», которое возникает, 
          //когда пассажир нажимает кнопку «вверх» на полу, на котором он ожидает.
          //Это указывает на то, что пассажир хочет перейти на другой этаж.
        elevator.on("up_button_pressed", function(floorNum)
                    { elevator.goToFloor(floorNum);
                    } );
       elevator.on("floor_button_pressed", function(floorNum) 
            // Может, сказать лифту, чтобы он поднялся на этот этаж?
                { elevator.goToFloor(floorNum);
        });
    },
        update: function(dt, elevators, floors) {
            // We normally don't need to do anything here }}

Лифт подымается на верхний этаж и спускается вниз, и реагирует на кнопки в лифте, как сделать, что бы лифт реагировал на кнопки этажей я так и не понял.

Clone this wiki locally