Elevator Saga 공략

Elevator Saga의 조작법, 전략 팁과 질문에 대한 답변을 확인하고 게임과 상세 안내로 이동하세요.

Elevator Saga 플레이

엘리베이터 컨트롤러 프로그래밍

JavaScript, init, update 함수를 수정하고 시작 버튼을 눌러 컨트롤러를 실행하세요.

조작법과 전체 게임 설명

라우팅 규칙을 추가하기 전에 idle 이벤트를 테스트합니다.

이벤트 기반 컨트롤러는 엘리베이터가 idle 상태가 될 때 새로운 임무를 부여할 수 있습니다.

조작법과 전체 게임 설명

라우팅 정책을 추가하기 전에 컨트롤러 결정 하나를 테스트하세요.

게임의 init 및 update 함수에서 JavaScript로 시작하고 시작을 눌러 시뮬레이션을 관찰합니다. 정확한 idle 이벤트 및 goToFloor 동작을 보려면 게임 내 API 참조를 사용하세요. 첫 번째 연습은 유휴 엘리베이터가 언제 다음 작업을 수신하는지 이해하는 것입니다. 여러 조건을 추가하기 전에 해당 이벤트와 그에 따른 움직임을 관찰하면 컨트롤러의 어느 부분이 요청을 발행했는지 설명할 수 있습니다.

그런 다음 승객 목적지를 조사하세요. 이동만으로는 승객에게 서비스를 제공한다는 의미는 아닙니다. 참조에서 floor_button_pressed 이벤트를 읽고 요청을 관찰한 경로와 비교하세요. 여러 엘리베이터가 동일한 경로를 반복하는 경우 일부 대기열은 여전히 기다릴 수 있습니다. 복잡한 정책을 복사하고 현재 문제의 승객 또는 대기 시간 목표를 충족한다고 가정하는 대신 이해하는 작은 컨트롤러로 구축하세요.

코드 변경과 챌린지 실제 목표 비교

시뮬레이션을 시작하기 전 통과 조건을 읽고 유휴 시간, 반복 정차, 특정 층에서 대기하는 승객 등 검사할 동작 중 하나를 선택합니다. 하나의 결정을 변경하고 다시 실행하세요. 엘리베이터가 더 자주 움직인다고 해서 컨트롤러가 도전 목표를 달성하는 것은 아닙니다. 움직임을 성공의 유일한 신호로 사용하기보다는 눈에 보이는 대기열과 표시된 결과를 목표와 비교하세요.

destinationQueue을 직접 편집할 때 참조 요구 사항에 따라 checkDestinationQueue을 호출하면 수정된 대기열이 적용됩니다. 일반 goToFloor 요청은 이미 대기 중인 대상을 처리하고 있습니다. 디버깅하는 동안 이러한 접근 방식을 뚜렷하게 유지하세요. 이 센터에서는 실제 엘리베이터나 생산 안전 시스템을 위한 소프트웨어가 아닌 브라우저 프로그래밍 시뮬레이션을 설명합니다. 하나의 컨트롤러가 모든 과제를 통과한다는 보장은 없습니다. 게임 내에서 정확한 API 문서를 사용한 다음 방금 실행한 특정 테스트를 개선한 이벤트 및 라우팅 변경 사항을 기록하세요.

구체적인 검토를 위해 엘리베이터가 유휴 상태인 동안 대기열이 있는 층을 관찰하십시오. 다음 goToFloor 요청을 발행하는 핸들러와 해당 요청이 대기 중인 승객에게 서비스를 제공하는지 아니면 엘리베이터를 다른 곳으로 보내는지 식별합니다. 하나의 라우팅 선택을 변경한 다음 챌린지 결과를 비교하세요. 여러 핸들러가 경쟁하는 경우 요청 순서를 설명할 수 있을 때까지 컨트롤러를 단순화하세요. 지원되는 정확한 이벤트에 대해서는 API 참조를 사용하세요. 한 번에 하나의 대기열과 하나의 결정을 관찰하면 그것이 범용 최적 컨트롤러라고 주장하지 않고도 개정에 대한 증거를 얻을 수 있습니다.

Elevator Saga 팁과 전략

다음 판에서 연습할 팁을 선택하세요. 이 목록은 게임을 변경하거나 게임 진행 상황을 저장하지 않습니다.

Elevator Saga 관련 질문과 답변

나는 어떤 언어로 글을 써야 할까요?

컨트롤러는 JavaScript를 사용하며, 게임 에디터에서는 init 및 update 기능을 사용할 수 있습니다.

이것은 실제 엘리베이터를 작동시키는 장치인가요?

아니요. 브라우저 게임 내에서 완전히 구현된 프로그래밍 시뮬레이션입니다.

코딩 연습용으로 사용할 수 있나요?

네, 특히 이벤트 기반 제어와 작은 변경 사항 테스트에 중점을 둡니다. 이 게임은 magwo의 MIT 라이선스 Elevator Saga 프로젝트를 기반으로 하며, 자격증 과정이 아닙니다.

엘리베이터가 움직이는데 승객이 계속 기다리는 이유는 무엇인가요?

고정 경로를 반복한다고 모든 요청 층을 서비스하는 것은 아닙니다. floor_button_pressed 이벤트를 처리하고 goToFloor로 목적지를 지정하세요. 정차 층을 늘리기 전에 대기 줄과 도전 목표를 비교하세요. destinationQueue를 직접 수정했다면 checkDestinationQueue를 호출해야 적용됩니다. 일반적인 목적지 추가는 goToFloor가 처리합니다.

조작법과 전체 게임 설명

조작법과 전체 게임 설명

Elevator Saga 플레이