คู่มือ Elevator Saga

Elevator Saga: วิธีควบคุม เคล็ดลับกลยุทธ์และคำตอบ พร้อมลิงก์ไปยังเกมและคำแนะนำฉบับเต็ม

เล่น Elevator Saga

การตั้งโปรแกรมตัวควบคุมลิฟต์

แก้ไขฟังก์ชัน JavaScript init และ update จากนั้นกด Start เพื่อเรียกใช้คอนโทรลเลอร์ของคุณ เกมจำลองอาคารที่มีผู้โดยสารที่ต้องการใช้บริการลิฟต์ โค้ดของคุณจะเป็นตัวกำหนดการตอบสนองของลิฟต์ การกดปุ่มไม่สามารถทดแทนการเขียนโปรแกรมคอนโทรลเลอร์ได้

วิธีควบคุมและคำอธิบายฉบับเต็ม

ทดสอบเหตุการณ์ idle ก่อนเพิ่มกฎการกำหนดเส้นทาง

ตัวควบคุมแบบเหตุการณ์สามารถมอบภารกิจใหม่ให้กับลิฟต์ได้เมื่อสถานะเป็น idle ตรวจสอบข้อมูลอ้างอิงในเกมสำหรับเหตุการณ์ idle และวิธีการ goToFloor จากนั้นสังเกตเส้นทางง่ายๆ ก่อนที่จะเพิ่มเงื่อนไขเพิ่มเติม การส่งลิฟต์ทุกตัวไปยังชั้นเดียวกันอาจทำให้ผู้โดยสารคนอื่นๆ ต้องรอ

วิธีควบคุมและคำอธิบายฉบับเต็ม

ทดสอบการตัดสินใจของผู้ควบคุมก่อนที่จะเพิ่มนโยบายการกำหนดเส้นทาง

เริ่มต้นด้วย JavaScript ใน ฟังก์ชัน init และ update ของเกม แล้วกด Start เพื่อสังเกตการจำลอง ใช้การอ้างอิง API ในเกมสำหรับพฤติกรรม เหตุการณ์ idle และ goToFloor ที่แน่นอน แบบฝึกหัดแรกคือการทำความเข้าใจเมื่อลิฟต์เดินเบาได้รับงานถัดไป ดูเหตุการณ์นั้นและการเคลื่อนไหวที่เกิดขึ้นก่อนที่จะเพิ่มเงื่อนไขต่างๆ เพื่อให้คุณสามารถอธิบายว่าส่วนใดของผู้ควบคุมที่ออกคำขอ

จากนั้นตรวจสอบจุดหมายปลายทางของผู้โดยสาร การเคลื่อนไหวเพียงอย่างเดียวไม่ได้หมายความว่าผู้โดยสารจะได้รับการบริการ อ่านเหตุการณ์ floor_button_pressed ในข้อมูลอ้างอิงและเปรียบเทียบคำขอกับเส้นทางที่คุณสังเกต หากมีลิฟต์หลายตัววิ่งซ้ำเส้นทางเดียวกัน บางคิวอาจยังรออยู่ สร้างจากตัวควบคุมขนาดเล็กที่คุณเข้าใจ แทนที่จะคัดลอกนโยบายที่ซับซ้อน และสมมติว่านโยบายนั้นตอบสนองความต้องการของผู้โดยสารหรือเป้าหมายการรอของความท้าทายในปัจจุบัน

เปรียบเทียบการเปลี่ยนแปลงโค้ดกับเป้าหมายที่แท้จริงของภารกิจท้าทาย

ก่อนเริ่มการจำลอง ให้อ่านเงื่อนไขการผ่านและเลือกพฤติกรรมหนึ่งอย่างที่จะตรวจสอบ เช่น เวลาว่าง การหยุดซ้ำ หรือผู้โดยสารที่รออยู่ในชั้นใดชั้นหนึ่ง เปลี่ยนการตัดสินใจหนึ่งครั้งแล้วดำเนินการอีกครั้ง ลิฟต์ที่เคลื่อนที่บ่อยขึ้นไม่ได้รับประกันว่าโปรแกรมควบคุมจะบรรลุเป้าหมายของโจทย์ เปรียบเทียบคิวที่มองเห็นและแสดงผลกับวัตถุประสงค์ แทนที่จะใช้การเคลื่อนไหวเป็นสัญญาณเดียวของความสำเร็จ

เมื่อทำการแก้ไข destinationQueue โดยตรง ให้ปฏิบัติตามข้อกำหนดของการอ้างอิงเพื่อเรียก checkDestinationQueue เพื่อให้คิวที่แก้ไขมีผล คำขอ goToFloor ปกติจัดการปลายทางที่อยู่ในคิวแล้ว รักษาแนวทางเหล่านั้นให้ชัดเจนในขณะทำการดีบัก ศูนย์นี้อธิบายการจำลองการเขียนโปรแกรมเบราว์เซอร์ ไม่ใช่ซอฟต์แวร์สำหรับลิฟต์จริงหรือระบบความปลอดภัยในการผลิต ไม่ได้รับประกันว่าผู้ควบคุมหนึ่งคนจะผ่านทุกความท้าทาย ใช้เอกสารประกอบ API ที่แน่นอนภายในเกม จากนั้นบันทึกเหตุการณ์และการเปลี่ยนแปลงเส้นทางที่ปรับปรุงการทดสอบเฉพาะที่คุณเพิ่งดำเนินการ

หากต้องการรีวิวที่เป็นรูปธรรม ให้ดูชั้นที่มีคิวในขณะที่ลิฟต์ไม่มีการใช้งาน ระบุว่าตัวจัดการรายใดที่ออกคำขอ goToFloor ถัดไป และคำขอนั้นให้บริการผู้โดยสารที่รออยู่หรือส่งลิฟต์ไปที่อื่นหรือไม่ เปลี่ยนตัวเลือกเส้นทางหนึ่งรายการ จากนั้นเปรียบเทียบผลลัพธ์ที่ท้าทาย หากมีตัวจัดการหลายตัวแข่งขันกัน ให้ลดความซับซ้อนของคอนโทรลเลอร์จนกว่าคุณจะอธิบายลำดับคำขอได้ ใช้การอ้างอิง API สำหรับเหตุการณ์ที่รองรับ การสังเกตหนึ่งคิวและการตัดสินใจทีละครั้งจะทำให้คุณมีหลักฐานสำหรับการแก้ไขโดยไม่ต้องอ้างว่าเป็นตัวควบคุมสากลที่เหมาะสมที่สุด

เคล็ดลับและกลยุทธ์สำหรับ Elevator Saga

เลือกเคล็ดลับที่อยากฝึกในรอบถัดไป รายการนี้ไม่เปลี่ยนแปลงเกมหรือบันทึกความคืบหน้าในการเล่น

คำถามและคำตอบเกี่ยวกับ Elevator Saga

ฉันเขียนด้วยภาษาอะไร?

ตัวควบคุมใช้รหัส JavaScript โดยมีฟังก์ชัน init และ update ในโปรแกรมแก้ไขเกม

เครื่องนี้ใช้งานลิฟต์จริงได้หรือไม่?

ไม่ มันเป็นการจำลองการเขียนโปรแกรมทั้งหมดภายในเกมบนเว็บเบราว์เซอร์

ฉันสามารถใช้มันเพื่อฝึกฝนการเขียนโค้ดได้ไหม?

ใช่ โดยเฉพาะอย่างยิ่งการควบคุมแบบขับเคลื่อนด้วยเหตุการณ์และการทดสอบการเปลี่ยนแปลงเล็กๆ น้อยๆ เกมนี้สร้างขึ้นจากโครงการ Elevator Saga ที่ได้รับอนุญาตภายใต้ MIT ของ magwo; มันไม่ใช่หลักสูตรการรับรอง

ทำไมผู้โดยสารยังรอทั้งที่ลิฟต์เคลื่อนที่?

การวิ่งเส้นทางซ้ำไม่ตอบทุกชั้นที่ร้องขอโดยอัตโนมัติ จัดการ floor_button_pressed และใช้ goToFloor สำหรับจุดหมาย เปรียบเทียบคิวกับเป้าหมายก่อนเพิ่มจุดจอด ถ้าแก้ destinationQueue โดยตรงต้องเรียก checkDestinationQueue เพื่อใช้การเปลี่ยนแปลง ส่วน goToFloor จัดการคำขอปกติอยู่แล้ว

วิธีควบคุมและคำอธิบายฉบับเต็ม

วิธีควบคุมและคำอธิบายฉบับเต็ม

เล่น Elevator Saga