Panduan Elevator Saga

Elevator Saga: kontrol, tips strategi dan jawaban, dengan tautan ke permainan dan petunjuk lengkap.

Mainkan Elevator Saga

Memprogram pengontrol lift

Edit fungsi JavaScript, init, dan update, lalu tekan Start untuk menjalankan controller Anda.

Kontrol dan petunjuk lengkap

Menguji event idle sebelum menambahkan aturan routing.

Pengontrol berbasis peristiwa dapat memberikan tugas baru pada lift ketika statusnya menjadi idle.

Kontrol dan petunjuk lengkap

Uji satu keputusan pengontrol sebelum menambahkan kebijakan perutean

Mulailah dengan JavaScript di fungsi init dan update game dan tekan Mulai untuk mengamati simulasi. Gunakan referensi API dalam game untuk perilaku peristiwa idle dan goToFloor yang tepat. Latihan pertama adalah memahami kapan elevator yang menganggur menerima tugas berikutnya. Perhatikan kejadian tersebut dan pergerakan yang dihasilkan sebelum menambahkan beberapa kondisi, sehingga Anda dapat menjelaskan bagian mana dari pengontrol yang mengeluarkan permintaan.

Kemudian periksa tujuan penumpang. Pergerakan saja tidak berarti penumpang dilayani. Baca acara floor_button_pressed di referensi dan bandingkan permintaan dengan rute yang Anda amati. Jika beberapa elevator mengulangi rute yang sama, beberapa antrian mungkin masih menunggu. Bangun dari pengontrol kecil yang Anda pahami alih-alih menyalin kebijakan yang rumit dan berasumsi bahwa kebijakan tersebut memenuhi tujuan penumpang atau waktu tunggu tantangan saat ini.

Bandingkan perubahan kode dengan tujuan tantangan sebenarnya

Sebelum menjalankan simulasi, baca syarat keberhasilan tantangan dan pilih satu perilaku yang akan diperiksa, misalnya waktu idle, pemberhentian berulang kali, atau penumpang menunggu di lantai tertentu. Ubah satu keputusan dan jalankan lagi. Gerakan lift yang lebih sering tidak menjamin pengontrol lolos tantangan. Bandingkan antrian yang terlihat dan hasil yang ditampilkan dengan tujuan daripada menggunakan gerakan sebagai satu-satunya tanda keberhasilan.

Saat mengedit destinationQueue secara langsung, ikuti persyaratan referensi untuk memanggil checkDestinationQueue sehingga antrian yang direvisi dapat diterapkan; permintaan normal goToFloor sudah menangani tujuan yang antri. Jaga agar pendekatan tersebut tetap berbeda saat melakukan debug. Pusat ini menjelaskan simulasi pemrograman browser, bukan perangkat lunak untuk elevator nyata atau sistem keselamatan produksi. Ini tidak menjamin satu pengontrol akan melewati setiap tantangan. Gunakan dokumentasi API yang tepat di dalam game, lalu catat peristiwa dan perubahan perutean mana yang meningkatkan pengujian tertentu yang baru saja Anda jalankan.

Untuk tinjauan konkrit, perhatikan lantai yang ada antrian saat elevator berhenti beroperasi. Identifikasi pengendali mana yang mengeluarkan permintaan goToFloor berikutnya dan apakah permintaan tersebut melayani penumpang yang menunggu atau mengirim lift ke tempat lain. Ubah satu pilihan rute tersebut, lalu bandingkan hasil tantangannya. Jika beberapa penangan bersaing, sederhanakan pengontrol hingga Anda dapat menjelaskan urutan permintaan. Gunakan referensi API untuk peristiwa yang didukung secara tepat. Mengamati satu antrian dan satu keputusan pada suatu waktu memberi Anda bukti untuk revisi tanpa mengklaim bahwa itu adalah pengontrol optimal universal.

Tips dan strategi Elevator Saga

Centang tips yang ingin dilatih pada permainan berikutnya. Daftar ini tidak mengubah permainan atau menyimpan progres.

Pertanyaan dan jawaban Elevator Saga

Dalam bahasa apa saya harus menulis?

Kontroler ini menggunakan JavaScript, dengan fungsi init dan update di editor game.

Apakah ini mengoperasikan lift sungguhan?

Tidak. Ini adalah simulasi pemrograman yang sepenuhnya berada di dalam game berbasis browser.

Bisakah saya menggunakannya untuk berlatih pemrograman?

Ya, khususnya kontrol berbasis peristiwa dan pengujian perubahan kecil. Gim ini didasarkan pada proyek Elevator Saga berlisensi MIT milik magwo; ini bukan kursus sertifikasi.

Mengapa penumpang menunggu meskipun lift bergerak?

Rute berulang tidak otomatis melayani semua lantai yang diminta. Tangani floor_button_pressed dan gunakan goToFloor untuk tujuan penumpang. Bandingkan antrean dengan sasaran sebelum menambah perhentian. Setelah mengubah destinationQueue langsung, panggil checkDestinationQueue; goToFloor menangani permintaan biasa.

Kontrol dan petunjuk lengkap

Kontrol dan petunjuk lengkap

Mainkan Elevator Saga