# สถานการณ์ฝึกย่อย — กู้ภัยระดับกลาง

รุ่นสถานการณ์ `rescue-mini-1` / เงื่อนไข `rescue-mini-practice-1`

นี่คือสนามและเกณฑ์ที่เพิ่มเพื่อการเรียนรู้ ไม่ใช่ผังสนามหรือคะแนนการแข่งขันเต็มสนาม ไม่มีการให้Checkpoint/ส่งของสำเร็จล่วงหน้า และไม่เพิ่มคะแนน100คะแนนของสนามเต็ม

## วิธีใช้

1. เข้าเมนูกู้ภัย → เลือกฝึกจากการ์ดทั้ง3ใบ มีภาพผังและทิศเริ่ม
2. ระบบสำรองโครงงานสนามเต็มก่อนสลับ แล้ววางหุ่น ณ จุดเริ่มแบบฝึก ไม่แก้โปรแกรมนักเรียนโดยอัตโนมัติ
3. กด “โหลดบล็อกเริ่มฝึก” หากต้องการตัวอย่างมอเตอร์/รอ/หยุด บล็อกเหล่านี้รันผ่านฟิสิกส์จริง ไม่ใช่เส้นทางสำเร็จรูป ปรับค่าหุ่นแล้วอาจต้องแก้โปรแกรมใหม่
4. กดเริ่ม ดูรายการความคืบหน้าและเหตุการณ์ ใช้พัก/ทีละคำสั่ง/เดินเวลา50msได้
5. จบแล้วกดบันทึกผล หรือดูย้อนหลัง เพื่อเทียบเหตุและเวลาที่ผ่าน/ไม่ผ่าน
6. กด “กลับสนามเต็มและโปรแกรมเดิม” คืนโครงงานก่อนเลือกแบบฝึก ผลที่บันทึกไว้ยังอยู่ หากเปิดไฟล์แบบฝึกในเครื่องที่ไม่มีสำรอง จะคืนผังอ้างอิงและคงโปรแกรมปัจจุบันตามข้อความปุ่ม

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

## เกณฑ์ร่วม

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

## 01 ผ่านลูกระนาด

เริ่มx0.16,z0.75เมตร หัน+X ลูกระนาด7อันในx0.45–0.75,z0.62–0.88เมตร แนวแท่งขนานZ

ต้องผ่านแนวเข้าไปข้างหน้าในช่วงZของลูกระนาด ไม่ออกด้านข้างจนกว่าท้ายตัวหุ่นพ้นแนวออก แล้วหยุดในเขตเขียวอย่างน้อย0.3วินาที ตรวจมุมตัวหุ่นทั้งหมดพ้นแนวออก ไม่ใช้จุดศูนย์กลางเพียงจุดเดียว

ตัวอย่างเริ่มต้น: มอเตอร์20/20 รอ5000ms หยุด ผ่านในค่าตั้งอุดมคติที่ทดสอบ ไม่มีการช่วยเลี้ยว/ล็อกทาง ลูกระนาดลดความเร็วตามฟิสิกส์ประมาณเดิม ไม่จำลองช่วงล่างแนวดิ่ง

คำถาม: ความเร็ว/มอเตอร์ไม่สมดุลทำให้ผ่านต่างกันอย่างไร? ใช้ข้อมูลADCอะไรปรับทิศได้บ้าง?

## 02 เข้าเขตปล่อย

เริ่มx0.56,z0.65เมตร หัน+X บรรทุกด้านหน้า1ลูก หลัง0 เป้าหมายเขียวx0.92,z0.52,w0.20,h0.26เมตร

ต้องให้ส่วนหนึ่งของตัวหุ่นเข้าถึงเขต หยุดจริงก่อนปล่อยหน้า ลูกต้องทับเป้าหมาย แล้วคงหยุด0.3วินาที การปล่อยก่อนหุ่นถึงเขต แม้ลูกทับเขียว หรือปล่อยขณะเคลื่อนจะไม่ผ่านเกณฑ์ฝึกนี้ เกณฑ์ “ตัวหุ่นเข้าเขตและหยุดก่อนปล่อย” เป็นสิ่งที่เพิ่มเพื่อฝึกการควบคุม ไม่อ้างว่าเป็นเงื่อนไขคะแนนของกติกาเต็มสนาม

ตัวอย่างเริ่มต้น: มอเตอร์20/20 รอ1600ms หยุด ปล่อยหน้า ผ่านในค่าตั้งอุดมคติที่ทดสอบ

คำถาม: ตำแหน่งช่องปล่อยต่างจากจุดศูนย์กลางหุ่นเท่าใด? ควรหยุดเมื่อใด? ดูตำแหน่งลูกในย้อนหลังเพื่ออธิบาย

## 03 กลับจุดหมาย START

เริ่มx1.12,z0.65เมตร หัน-X จุดหมายSTART x0.28,z0.55,w0.20,h0.20เมตร

ต้องเคลื่อนจากจุดฝึกมากกว่า2ซม. ให้ส่วนหนึ่งของหุ่นทับSTART และหยุดนิ่ง0.3วินาที ไม่กำหนดว่าทำภารกิจส่งของ/Checkpointสำเร็จแล้ว จึงไม่มีการเติมคะแนน/ความสำเร็จเหล่านั้น

ตัวอย่างเริ่มต้น: มอเตอร์20/20 รอ3500ms หยุด ผ่านในค่าตั้งอุดมคติที่ทดสอบ

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

## หลักฐานและข้อจำกัด

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

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

ดู [ผลทดสอบ](SCENARIO_TEST_RESULTS.md) และ [คู่มือหลัก](README_TH.md)
