Python เฉพาะสำหรับหุ่นยนต์#
การแนะนำ#
หุ่นยนต์ VR Rover ประกอบด้วยระบบขับเคลื่อน เซ็นเซอร์วัดระยะทาง และการกระทำเฉพาะใน Rover Rescue Playground
เมธอดมาตรฐานทั้งหมดของ VEXcode VR สามารถใช้งานได้ใน Rover Rescue Playground ด้านล่างนี้คือรายการเมธอดเฉพาะของ Playground ที่มีให้ใช้งานทั้งหมด:
ระบบขับเคลื่อน - เคลื่อนย้ายและตรวจสอบ VR Rover
การกระทำ
drive- เคลื่อน VR Rover ไปข้างหน้าหรือถอยหลังตลอดไปdrive_for- เคลื่อน VR Rover ไปข้างหน้าหรือถอยหลังตามระยะทางที่กำหนดturn- หมุน VR Rover ไปทางซ้ายหรือขวาตลอดไปturn_for- หมุน VR Rover ไปทางซ้ายหรือขวาตามจำนวนองศาที่กำหนดturn_to_heading- หมุน VR Rover ให้หันหน้าไปยังทิศทางที่กำหนดตั้งแต่ -359 ถึง 359 องศาdrive_to- ขับเคลื่อน VR Rover ตรงไปยังวัตถุที่เลือกturn_to- หมุน VR Rover ให้หันหน้าไปทางวัตถุที่เลือกgo_to- หมุนและขับ VR Rover ไปยังวัตถุที่เลือกstop- หยุดการเคลื่อนที่ของ VR Rover
ตัวปรับแต่ง
set_heading– เปลี่ยนทิศทางปัจจุบันของ VR Rover เป็นทิศทางใหม่set_timeout- ตั้งค่าระยะเวลาที่ VR Rover จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้นset_drive_velocity– บอก VR Rover ว่าจะขับเร็วแค่ไหนset_turn_velocity– บอก VR Rover ว่าจะเลี้ยวเร็วแค่ไหน
ผู้รับ
คอนโซล – แสดงค่าต่างๆ บนคอนโซลและตรวจสอบค่าเหล่านั้น
พิมพ์
brain.print— แสดงข้อความ ตัวเลข หรือค่าตัวแปรในคอนโซลbrain.new_line— ย้ายเคอร์เซอร์ของคอนโซลไปที่ต้นบรรทัดถัดไปbrain.set_print_color— ตั้งค่าสีที่ใช้สำหรับข้อความที่พิมพ์ในคอนโซลbrain.clear— ล้างแถวทั้งหมดออกจากคอนโซล
เฝ้าสังเกต
monitor_variable— เพิ่มตัวแปรที่กำหนดไว้ล่วงหน้าอย่างน้อยหนึ่งตัวลงในแท็บ Monitormonitor_sensor— เพิ่มค่าเซ็นเซอร์อย่างน้อยหนึ่งค่าลงในแท็บ Monitor
การตรวจจับ - ตรวจจับวัตถุที่อยู่ใกล้เคียงด้วยเซ็นเซอร์วัดระยะทางของยานสำรวจ
ระยะทาง
found_object- ส่งคืนว่าเซ็นเซอร์ระยะทางตรวจพบวัตถุหรือไม่get_distance- ส่งคืนระยะทางไปยังวัตถุที่ตรวจพบที่ใกล้ที่สุด
การกระทำ - โต้ตอบกับทรัพยากร ศัตรู และระบบ AI ในตัวของยานสำรวจ
การกระทำ
pickup- หยิบแร่ธาตุdrop- หยดแร่ธาตุuse- ใช้แร่ธาตุเพื่อฟื้นฟูพลังงานabsorb_radiation- ดูดซับรังสีจากศัตรูstandby- ตั้งค่า VR Rover ให้อยู่ในโหมดสแตนด์บายจนกว่าจะถึงระดับแบตเตอรี่ที่กำหนด
ผู้รับ
angle- ส่งคืนทิศทางไปยังวัตถุในหน่วยองศาget_distance- ส่งคืนระยะทางไปยังวัตถุในหน่วยมิลลิเมตรหรือนิ้วlocation- ส่งคืนพิกัด X หรือ Y ของวัตถุในหน่วยมิลลิเมตรหรือนิ้วbattery- ส่งคืนระดับแบตเตอรี่ของ VR Roverminerals_stored- ส่งคืนจำนวนแร่ธาตุที่ VR Rover บรรทุกอยู่storage_capacity- ส่งคืนความจุในการบรรทุกของ VR Roverlevel- ส่งคืนระดับปัจจุบันของ VR Roverexp- ส่งคืนคะแนนประสบการณ์ปัจจุบันของ VR Roverenemy_level- คืนค่าระดับของศัตรูที่ตรวจพบที่อยู่ใกล้ที่สุดenemy_radiation- ส่งคืนรังสีของศัตรูที่ตรวจพบที่อยู่ใกล้ที่สุดdetects- ส่งคืนว่า VR Rover ตรวจจับแร่ธาตุหรือศัตรูในรัศมีการตรวจจับหรือไม่sees- ส่งคืนว่า VR Rover มองเห็นวัตถุในระยะการมองเห็นหรือไม่under_attack- ส่งคืนว่า VR Rover กำลังถูกโจมตีอยู่หรือไม่
การโทรกลับ
on_under_attack- เรียกใช้ฟังก์ชัน callback เมื่อ VR Rover ถูกโจมตีon_level_up- เรียกใช้ฟังก์ชัน callback เมื่อ VR Rover เลเวลอัพ
ตัวอย่างในหน้านี้ใช้ตำแหน่งเริ่มต้นเริ่มต้นของ Playground ตามค่าเริ่มต้น
ระบบขับเคลื่อน#
ระบบขับเคลื่อนควบคุมการเคลื่อนที่และการเลี้ยวของ VR Rover ระบบขับเคลื่อนสามารถเคลื่อนที่ไปข้างหน้าหรือถอยหลัง เลี้ยวซ้ายหรือขวา เปลี่ยนทิศทาง และขับเคลื่อนไปยังแร่ธาตุ ศัตรู หรือฐานได้
การกระทำ#
ขับ#
คำสั่ง drive จะทำให้ VR Rover เคลื่อนที่ไปข้างหน้าหรือถอยหลังไปเรื่อยๆ จนกว่าจะได้รับคำสั่งอื่น เช่น การเลี้ยวหรือการหยุด
Usage:
drivetrain.drive(direction)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ทิศทางการเคลื่อนที่ของ VR Rover: |
def main():
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
ไดรฟ์สำหรับ#
คำสั่ง drive_for จะเคลื่อน VR Rover ไปข้างหน้าหรือถอยหลังเป็นระยะทางที่กำหนด โครงการจะรอจนกว่า VR Rover จะเคลื่อนที่เสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน
Usage:
drivetrain.drive_for(direction, distance, units, wait=True)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ทิศทางการเคลื่อนที่ของ VR Rover: |
|
ระยะทางที่ VR Rover ขับเคลื่อนไปได้ ค่านี้อาจเป็นจำนวนเต็ม |
|
หน่วยวัดระยะทาง: |
|
ตัวเลือกเสริม |
def main():
drivetrain.drive_for(FORWARD, 200, MM)
# VR threads — Do not delete
vr_thread(main)
เปลี่ยน#
turn จะหมุน VR Rover ไปทางซ้ายหรือขวาเรื่อยๆ VR Rover จะหมุนต่อไปจนกว่าจะได้รับคำสั่งอื่น เช่น ขับหรือหยุด
Usage:
drivetrain.turn(direction)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ทิศทางการหมุนของ VR Rover: |
def main():
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
เลี้ยวสำหรับ#
turn_for จะหมุน VR Rover ไปทางซ้ายหรือขวาเป็นจำนวนองศาที่กำหนด การหมุนจะสัมพันธ์กับตำแหน่งปัจจุบันของ VR Rover โปรเจ็กต์จะรอจนกว่า VR Rover จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน
Usage:
drivetrain.turn_for(direction, angle, units, wait=True)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ทิศทางการหมุนของ VR Rover: |
|
จำนวนองศาที่ยานสำรวจ VR หมุน ค่านี้สามารถเป็นจำนวนเต็ม |
|
หน่วยการหมุน: |
|
ตัวเลือกเสริม |
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
เปลี่ยนหัว#
ทิศทาง (Heading) คือทิศทางที่ยานสำรวจ VR หันหน้าไป โดยวัดเป็นองศา คำสั่ง turn_to_heading จะหมุนยานสำรวจ VR ให้หันหน้าไปในทิศทางที่กำหนด ตั้งแต่ -359 ถึง 359 องศา ยานสำรวจ VR จะหมุนไปในทิศทางที่สั้นที่สุดเพื่อไปยังทิศทางเป้าหมาย
ทิศทางเริ่มต้นของยานสำรวจ VR คือ 0 องศา
โปรเจ็กต์จะรอจนกว่า VR Rover จะหมุนเสร็จก่อนจึงจะเริ่มรันโค้ดบรรทัดถัดไป
Usage:
drivetrain.turn_to_heading(heading, units, wait=True)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ทิศทางที่ยานสำรวจ VR ควรหันหน้าไป (หน่วยเป็นองศา) ค่านี้สามารถเป็นจำนวนเต็ม |
|
หน่วยหัวเรื่อง: |
|
ตัวเลือกเสริม |
def main():
drivetrain.turn_to_heading(90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
ไดรฟ์ไปยัง#
คำสั่ง drive_to จะขับเคลื่อน VR Rover ตรงไปยังวัตถุที่เลือกไว้
Usage:
drivetrain.drive_to(object, wait=True)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ยานสำรวจ VR จะขับไปยังวัตถุใด:
|
|
ตัวเลือกเสริม |
หากไม่พบแร่ธาตุหรือศัตรูในระยะการมองเห็นของ VR Rover เมื่อมีการเรียกใช้คำสั่ง drive_to VR Rover จะไม่เคลื่อนที่ ฐานสามารถถูกกำหนดเป้าหมายได้เสมอ
หากยานสำรวจ VR ตรวจพบแร่ธาตุหลายชนิดหรือศัตรูหลายตัว มันจะขับเคลื่อนไปยังตัวเลือกที่อยู่ใกล้ที่สุด
def main():
drivetrain.drive_to(MINERALS)
# VR threads — Do not delete
vr_thread(main)
หันไป#
turn_to จะหมุน VR Rover ให้หันหน้าเข้าหาวัตถุที่เลือกไว้
Usage:
drivetrain.turn_to(object, wait=True)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ยานสำรวจ VR จะหันไปทางวัตถุใด:
|
|
ตัวเลือกเสริม
|
หากไม่พบแร่ธาตุหรือศัตรูในระยะการมองเห็นของ VR Rover เมื่อมีการเรียกใช้คำสั่ง turn_to VR Rover จะไม่หมุน และสามารถกำหนดเป้าหมายฐานได้เสมอ
หาก VR Rover ตรวจพบแร่ธาตุหลายชนิดหรือศัตรูหลายตัว มันจะหันไปหาตัวเลือกที่อยู่ใกล้ที่สุด
def main():
drivetrain.turn_to(MINERALS)
# VR threads — Do not delete
vr_thread(main)
ไปที่#
go_to จะหมุนและขับเคลื่อน VR Rover ไปยังวัตถุที่เลือก
Usage:
drivetrain.go_to(object, wait=True)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ยานสำรวจ VR จะเลี้ยวและขับไปยังวัตถุใด:
|
|
ตัวเลือกเสริม |
หากไม่พบแร่ธาตุหรือศัตรูในระยะการมองเห็นของ VR Rover เมื่อเรียกใช้คำสั่ง go_to VR Rover จะไม่เคลื่อนที่ ฐานสามารถถูกกำหนดเป้าหมายได้เสมอ
หาก VR Rover ตรวจพบแร่ธาตุหลายชนิดหรือศัตรูหลายตัว มันจะเคลื่อนที่ไปยังตัวเลือกที่อยู่ใกล้ที่สุด
def main():
drivetrain.go_to(MINERALS)
# VR threads — Do not delete
vr_thread(main)
หยุด#
ปุ่ม stop จะหยุดการเคลื่อนที่ของ VR Rover
Usage:
drivetrain.stop()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
ตัวกลายพันธุ์#
ตั้งค่าหัว#
ทิศทาง (Heading) คือทิศทางที่ยาน VR Rover หันหน้าไป โดยวัดเป็นองศา คำสั่ง set_heading จะเปลี่ยนทิศทางปัจจุบันของยาน VR Rover ไปเป็นค่าทิศทางใหม่
ตัวอย่างเช่น หาก VR Rover หันไปทางขวา การตั้งค่าทิศทางเป็น 0 องศา จะทำให้ตำแหน่งที่หันไปทางขวานั้นกลายเป็น 0 องศาใหม่ จากนั้น VR Rover ก็สามารถหมุนไปยังตำแหน่งอื่นๆ ได้โดยอิงจากทิศทางใหม่นั้น
Usage:
drivetrain.set_heading(heading, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ค่าทิศทาง (หน่วยเป็นองศา) ที่จะตั้งค่าให้กับ VR Rover ค่านี้สามารถเป็นจำนวนเต็ม |
|
หน่วยหัวเรื่อง: |
def main():
drivetrain.set_heading(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
ตั้งค่าหมดเวลา#
set_timeout กำหนดเวลาที่ VR Rover จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น หาก VR Rover ไม่สามารถทำการเคลื่อนไหวให้เสร็จสิ้นภายในเวลาที่กำหนด มันจะหยุดพยายามและไปยังบรรทัดโค้ดถัดไป ซึ่งจะช่วยป้องกันไม่ให้ VR Rover ติดอยู่กับการเคลื่อนไหวใดๆ
Usage:
drivetrain.set_timeout(value, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ระยะเวลาที่ VR Rover สามารถพยายามทำภารกิจให้เสร็จสิ้นได้ ค่านี้อาจเป็นจำนวนเต็มบวก |
|
หน่วยเวลา: |
def main():
drivetrain.set_timeout(1, SECONDS)
# VR threads — Do not delete
vr_thread(main)
ตั้งค่าความเร็วในการขับเคลื่อน#
set_drive_velocity จะบอก VR Rover ว่าควรขับเร็วแค่ไหน เปอร์เซ็นต์ที่สูงขึ้นจะทำให้ VR Rover ขับเร็วขึ้น และเปอร์เซ็นต์ที่ต่ำลงจะทำให้ VR Rover ขับช้าลง
ทุกโปรเจกต์เริ่มต้นด้วยการที่ VR Rover ขับเคลื่อนด้วยความเร็ว 50% เป็นค่าเริ่มต้น
หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้ VR Rover ขับเคลื่อนได้เร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้ VR Rover ขับเคลื่อนช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น
Usage:
drivetrain.set_drive_velocity(velocity, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ความเร็วในการขับขี่สามารถวัดได้ตั้งแต่ 0% ถึง 100% โดยค่านี้อาจเป็นจำนวนเต็ม |
|
หน่วยความเร็ว: |
def main():
drivetrain.set_drive_velocity(50, PERCENT)
# VR threads — Do not delete
vr_thread(main)
ตั้งค่าความเร็วในการเลี้ยว#
set_turn_velocity จะบอก VR Rover ว่าควรเลี้ยวเร็วแค่ไหน เปอร์เซ็นต์ที่สูงขึ้นจะทำให้ VR Rover เลี้ยวเร็วขึ้น และเปอร์เซ็นต์ที่ต่ำลงจะทำให้ VR Rover เลี้ยวช้าลง
ทุกโปรเจกต์เริ่มต้นด้วยการที่ VR Rover หมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น
หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้ VR Rover เลี้ยวได้เร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้ VR Rover เลี้ยวได้ช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น
Usage:
drivetrain.set_turn_velocity(velocity, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% ค่านี้สามารถเป็นจำนวนเต็ม |
|
หน่วยความเร็ว: |
def main():
drivetrain.set_turn_velocity(50, PERCENT)
# VR threads — Do not delete
vr_thread(main)
ผู้รับ#
หัวข้อ#
ทิศทาง (Heading) คือทิศทางที่ยานสำรวจ VR Rover หันหน้าไป โดยวัดเป็นองศา ค่า Heading heading จะเปลี่ยนทิศทางปัจจุบันของยานสำรวจ VR Rover จาก 0 เป็น 359.99 องศา
ทิศทางเริ่มต้นของยานสำรวจ VR คือ 0 องศา
Usage:
drivetrain.heading(units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
หน่วยหัวเรื่อง: |
def main():
brain.screen.print(drivetrain.heading(DEGREES))
# VR threads — Do not delete
vr_thread(main)
เสร็จแล้ว#
is_done จะส่งคืนค่าบูลีนว่า VR Rover เคลื่อนที่เสร็จแล้วหรือไม่ ค่านี้สามารถใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของ VR Rover ได้
True— ยานสำรวจ VR หยุดเคลื่อนที่แล้วFalse— ยานสำรวจ VR Rover ยังคงเคลื่อนที่อยู่
วิธีการนี้ทำงานร่วมกับวิธีการ Drivetrain ที่มีพารามิเตอร์ wait เช่น drive_for, turn_for, turn_to_heading, drive_to, turn_to, และ go_to
Usage:
drivetrain.is_done()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
drivetrain.drive_for(FORWARD, 200, MM, wait=False)
wait(0.1, SECONDS)
if drivetrain.is_done():
brain.screen.print("Drive complete")
# VR threads — Do not delete
vr_thread(main)
กำลังเคลื่อนที่#
is_moving จะส่งคืนค่าบูลีนว่า VR Rover กำลังเคลื่อนที่หรือไม่ ค่านี้สามารถใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของ VR Rover ได้
True— ยานสำรวจ VR กำลังเคลื่อนที่False— ยานสำรวจ VR ไม่เคลื่อนที่
Usage:
drivetrain.is_moving()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
drivetrain.drive_for(FORWARD, 200, MM, wait=False)
wait(0.1, SECONDS)
if drivetrain.is_moving():
brain.screen.print("Still moving")
# VR threads — Do not delete
vr_thread(main)
คอนโซล#
หน้าต่างคอนโซลจะแสดงข้อความ ตัวเลข และค่าตัวแปรขณะที่โปรเจกต์กำลังทำงาน นอกจากนี้ เมธอดของคอนโซลยังสามารถย้ายเคอร์เซอร์ไปยังแถวใหม่ ตั้งค่าสีของข้อความที่พิมพ์หลังจากเปลี่ยนสี ล้างหน้าต่างคอนโซล และเพิ่มตัวแปรหรือค่าเซ็นเซอร์ลงในแท็บมอนิเตอร์ได้อีกด้วย
พิมพ์#
การพิมพ์สมอง#
brain.print แสดงข้อความ ตัวเลข หรือค่าตัวแปรในคอนโซลโดยใช้ตำแหน่งเคอร์เซอร์ปัจจุบัน
ใช้ brain.new_line เมื่อคุณต้องการให้ค่าที่พิมพ์ถัดไปเริ่มต้นในแถวใหม่
Usage:
brain.print(value)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ข้อความ ตัวเลข หรือค่าตัวแปรที่จะแสดงในคอนโซล |
def main():
# Display a message in the Console
brain.print("Hello, rover!")
# VR threads — Do not delete
vr_thread(main)

สมอง.บรรทัดใหม่#
brain.new_line ย้ายเคอร์เซอร์ไปที่คอลัมน์ที่ 1 ในแถวถัดไปในคอนโซล ค่าที่พิมพ์ถัดไปจะปรากฏในแถวนั้น
Usage:
brain.new_line()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
# Print on two rows
brain.print("Row 1")
brain.new_line()
brain.print("Row 2")
# VR threads — Do not delete
vr_thread(main)

สมอง.ตั้งค่า_สีพิมพ์#
brain.set_print_color กำหนดสีที่ใช้สำหรับข้อความที่พิมพ์ในคอนโซลหลังจากใช้วิธีนี้ ในตอนเริ่มต้นของโปรเจกต์ สีข้อความในคอนโซลจะถูกตั้งค่าเป็น BLACK
Usage:
brain.set_print_color(color)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
สีที่ใช้สำหรับข้อความที่พิมพ์ในคอนโซล:
|
def main():
# Print text in different colors
brain.print("Default text color")
brain.new_line()
brain.set_print_color(RED)
brain.print("Red text color")
# VR threads — Do not delete
vr_thread(main)

สมอง.เคลียร์#
brain.clear จะล้างแถวทั้งหมดออกจากคอนโซลและย้ายเคอร์เซอร์กลับไปที่แถวที่ 1
Usage:
brain.clear()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
# Display text, then clear it after two seconds
brain.print("This will disappear...")
wait(2, SECONDS)
brain.clear()
# VR threads — Do not delete
vr_thread(main)
เฝ้าสังเกต#
ตัวแปรมอนิเตอร์#
monitor_variable เพิ่มตัวแปรที่กำหนดไว้ล่วงหน้าอย่างน้อยหนึ่งตัวลงในแท็บ Monitor ใน VEXcode ซึ่งช่วยให้คุณสามารถตรวจสอบการเปลี่ยนแปลงค่าของตัวแปรขณะที่โปรเจกต์กำลังทำงานอยู่
ตัวแปรต้องเป็น monitor_variable เพื่อให้สามารถตรวจสอบตัวแปรเหล่านั้นได้อย่างสำเร็จ ระบุชื่อตัวแปรแต่ละตัวเป็นสตริง
Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ชื่อของตัวแปรส่วนกลางที่กำหนดไว้ล่วงหน้าซึ่งต้องการตรวจสอบ โดยระบุเป็นสตริง หากต้องการตรวจสอบตัวแปรมากกว่าหนึ่งตัว ให้คั่นชื่อตัวแปรแต่ละตัวด้วยเครื่องหมายจุลภาค |
def main():
# Monitor the amount of loops
global loops
monitor_variable("loops")
# Drive forward 3 times
for loops in range(3):
drivetrain.drive_for(FORWARD, 200, MM)
# VR threads — Do not delete
vr_thread(main)
มอนิเตอร์เซนเซอร์#
monitor_sensor เพิ่มค่าเซ็นเซอร์อย่างน้อยหนึ่งค่าลงในแท็บ Monitor ใน VEXcode ซึ่งช่วยให้คุณสามารถดูการเปลี่ยนแปลงของค่าเซ็นเซอร์ขณะที่โปรเจ็กต์กำลังทำงานอยู่
ระบุค่าเซ็นเซอร์แต่ละค่าเป็นสตริง
Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
The sensor value to monitor, given as a string. To monitor more than one sensor value, separate each sensor value with a comma. Supported sensor identifiers include:
|
def main():
# Monitor the rover's battery
monitor_sensor("rover.battery")
drivetrain.drive_for(FORWARD, 200, MM)
# VR threads — Do not delete
vr_thread(main)
การรับรู้#
ระยะทาง#
พบวัตถุ#
found_object จะส่งคืนค่าว่าเซ็นเซอร์วัดระยะทางตรวจพบวัตถุหรือไม่
Usage:
distance.found_object()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
if distance.found_object():
brain.screen.print("Object detected")
# VR threads — Do not delete
vr_thread(main)
รับระยะทาง#
get_distance ส่งคืนระยะห่างไปยังวัตถุที่ตรวจพบที่ใกล้ที่สุดจากเซ็นเซอร์วัดระยะทาง
Usage:
distance.get_distance(units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
หน่วยวัดระยะทาง: |
def main():
brain.screen.print(distance.get_distance(MM))
# VR threads — Do not delete
vr_thread(main)
การกระทำ#
การกระทำ#
หยิบ#
หน่วยเก็บแร่หมายเลข pickup จะเก็บแร่ธาตุ
Usage:
rover.pickup(object)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
วัตถุที่ VR Rover สามารถตรวจจับได้:
|
def main():
rover.pickup(MINERALS)
# VR threads — Do not delete
vr_thread(main)
หยด#
drop หยด มีแร่ธาตุเป็นส่วนประกอบ
Usage:
rover.drop(object)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
วัตถุที่ VR Rover สามารถปล่อยได้:
|
def main():
rover.drop(MINERALS)
# VR threads — Do not delete
vr_thread(main)
ใช้#
use ใช้แร่ธาตุเพื่อฟื้นฟูพลังงาน แร่ธาตุต้องมีอยู่บนพื้นดินจึงจะสามารถนำมาใช้ได้
Usage:
rover.use(object)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
วัตถุที่ VR Rover สามารถใช้ได้:
|
def main():
rover.use(MINERALS)
# VR threads — Do not delete
vr_thread(main)
ดูดซับรังสี#
absorb_radiation ดูดซับรังสีจากศัตรู
Usage:
rover.absorb_radiation(object)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
วัตถุที่ยานสำรวจ VR สามารถดูดซับรังสีได้:
|
def main():
rover.absorb_radiation(ENEMY)
# VR threads — Do not delete
vr_thread(main)
สแตนด์บาย#
standby จะทำให้ VR Rover เข้าสู่โหมดสแตนด์บายจนกว่าระดับแบตเตอรี่จะถึงเกณฑ์ที่กำหนด
Usage:
rover.standby(percent)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ระดับแบตเตอรี่ที่ทำให้ VR Rover ออกจากโหมดสแตนด์บาย ตั้งแต่ |
หากค่าเกณฑ์ที่เลือกไว้เท่ากับหรือสูงกว่าระดับแบตเตอรี่ปัจจุบัน VR Rover จะไม่เข้าสู่โหมดสแตนด์บาย
def main():
rover.standby(50)
# VR threads — Do not delete
vr_thread(main)
ผู้รับ#
มุม#
angle จะส่งคืนค่าทิศทางเป็นองศาไปยังวัตถุที่เลือก
Usage:
rover.angle(object)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
วัตถุที่ใช้รายงานทิศทาง:
|
สำหรับแร่ธาตุและศัตรู วัตถุนั้นต้องอยู่ภายในระยะ 1000 มม. และอยู่ในขอบเขตการมองเห็นของ VR Rover สามารถรายงานตำแหน่งฐานได้เสมอ
def main():
brain.screen.print(rover.angle(MINERALS))
# VR threads — Do not delete
vr_thread(main)
รับระยะทาง#
get_distance ส่งคืนระยะห่างจาก VR Rover ไปยังวัตถุที่เลือก
Usage:
rover.get_distance(object, units=MM)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
วัตถุที่จะรายงานระยะห่าง:
|
|
(ไม่บังคับ) หน่วยที่ใช้ในการรายงานระยะทาง: |
สำหรับแร่ธาตุและศัตรู วัตถุนั้นต้องอยู่ภายในระยะ 1000 มม. และอยู่ในขอบเขตการมองเห็นของ VR Rover สามารถรายงานตำแหน่งฐานได้เสมอ
สำหรับสิ่งกีดขวางและอันตราย วิธีการนี้จะรายงานระยะห่างของวัตถุที่มองเห็นได้ หากไม่มีวัตถุใดอยู่ในระยะมองเห็น จะส่งคืนค่า 1000 มม. หรือ 39.37 นิ้ว
def main():
brain.screen.print(rover.get_distance(MINERALS, MM))
# VR threads — Do not delete
vr_thread(main)
ที่ตั้ง#
location จะส่งคืนค่าพิกัด X หรือ Y ของวัตถุที่เลือก
Usage:
rover.location(object, axis, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
วัตถุที่จะรายงานตำแหน่ง:
|
|
พิกัดใดที่จะส่งคืน:
|
|
หน่วยที่ใช้ในการรายงานตำแหน่ง: |
สำหรับแร่ธาตุและศัตรู วัตถุนั้นต้องอยู่ภายในระยะ 1000 มม. และอยู่ในขอบเขตการมองเห็นของ VR Rover สามารถรายงานตำแหน่งฐานได้เสมอ
def main():
brain.screen.print(rover.location(MINERALS, X, MM))
# VR threads — Do not delete
vr_thread(main)
แบตเตอรี่#
battery แสดงระดับแบตเตอรี่ปัจจุบันของ VR Rover
Usage:
rover.battery()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
brain.screen.print(rover.battery())
# VR threads — Do not delete
vr_thread(main)
แร่ธาตุที่เก็บไว้#
minerals_stored ส่งคืนปริมาณแร่ธาตุปัจจุบันที่ VR Rover มีอยู่ในสต็อก
Usage:
rover.minerals_stored()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
brain.screen.print(rover.minerals_stored())
# VR threads — Do not delete
vr_thread(main)
ความจุในการจัดเก็บ#
storage_capacity ส่งคืนความจุในการบรรทุกของ VR Rover
Usage:
rover.storage_capacity()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
brain.screen.print(rover.storage_capacity())
# VR threads — Do not delete
vr_thread(main)
ระดับ#
ระดับ level จะแสดงระดับปัจจุบันของ VR Rover
Usage:
rover.level()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
brain.screen.print(rover.level())
# VR threads — Do not delete
vr_thread(main)
เอ็กซ์#
exp จะแสดงจำนวนคะแนนประสบการณ์ที่ VR Rover มีในระดับปัจจุบัน
Usage:
rover.exp()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
brain.screen.print(rover.exp())
# VR threads — Do not delete
vr_thread(main)
ระดับศัตรู#
enemy_level ส่งคืนระดับของศัตรูที่อยู่ใกล้ที่สุดที่ตรวจพบโดย VR Rover
Usage:
rover.enemy_level()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
เมื่อไม่พบศัตรูภายในรัศมีการตรวจจับของยานสำรวจ เมธอดนี้จะส่งคืนค่า 0
def main():
brain.screen.print(rover.enemy_level())
# VR threads — Do not delete
vr_thread(main)
รังสีของศัตรู#
enemy_radiation จะส่งคืนค่าการแผ่รังสีของศัตรูที่อยู่ใกล้ที่สุดที่ตรวจพบโดย VR Rover
Usage:
rover.enemy_radiation()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
เมื่อไม่พบศัตรูภายในรัศมีการตรวจจับของยานสำรวจ เมธอดนี้จะส่งคืนค่า 0
def main():
brain.screen.print(rover.enemy_radiation())
# VR threads — Do not delete
vr_thread(main)
ตรวจจับ#
detects ส่งคืนว่า VR Rover ตรวจพบแร่ธาตุหรือศัตรูในรัศมีการตรวจจับหรือไม่
Usage:
rover.detects(object)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
วัตถุที่ต้องการตรวจจับ:
|
รัศมีการตรวจจับของ VR Rover คือ 800 มม.
def main():
if rover.detects(MINERALS):
brain.screen.print("Minerals detected")
# VR threads — Do not delete
vr_thread(main)
เห็น#
sees แสดงว่า VR Rover มองเห็นวัตถุที่เลือกไว้ในระยะการมองเห็นหรือไม่
Usage:
rover.sees(object)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
สิ่งที่ต้องดู:
|
VR Rover สามารถมองเห็นวัตถุได้ภายในระยะ 1000 มิลลิเมตร และภายในขอบเขตการมองเห็น 40 องศา
def main():
if rover.sees(MINERALS):
brain.screen.print("Minerals in view")
# VR threads — Do not delete
vr_thread(main)
ถูกโจมตี#
under_attack จะส่งคืนค่าว่า VR Rover กำลังถูกโจมตีจากศัตรูอยู่หรือไม่
Usage:
rover.under_attack()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
def main():
if rover.under_attack():
brain.screen.print("The rover is under attack!")
# VR threads — Do not delete
vr_thread(main)
การเรียกกลับ#
กำลังถูกโจมตี#
on_under_attack ลงทะเบียนฟังก์ชันเรียกกลับที่จะทำงานเมื่อ VR Rover ได้รับความเสียหายจากศัตรู
Usage:
rover.on_under_attack(callback)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ฟังก์ชันที่จะทำงานเมื่อ VR Rover ถูกโจมตี |
def under_attack():
brain.screen.print("The rover is under attack!")
def main():
rover.on_under_attack(under_attack)
wait(0.15, SECONDS)
# VR threads — Do not delete
vr_thread(main)
เลเวลอัพ#
on_level_up ลงทะเบียนฟังก์ชันเรียกกลับที่จะทำงานเมื่อ VR Rover เคลื่อนที่จากระดับหนึ่งไปยังอีกระดับหนึ่ง
Usage:
rover.on_level_up(callback)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
ฟังก์ชันที่จะทำงานเมื่อ VR Rover เลเวลอัพ |
def level_up():
brain.screen.print("The rover leveled up!")
def main():
rover.on_level_up(level_up)
wait(0.15, SECONDS)
# VR threads — Do not delete
vr_thread(main)