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 ว่าจะเลี้ยวเร็วแค่ไหน

  • ผู้รับ

    • heading - ส่งคืนทิศทางปัจจุบันของ VR Rover จาก 0 ถึง 359.99 องศา

    • is_done - ส่งคืนว่า VR Rover เคลื่อนที่เสร็จแล้วหรือไม่

    • is_moving - คืนค่าว่า VR Rover กำลังเคลื่อนที่หรือไม่

คอนโซล – แสดงค่าต่างๆ บนคอนโซลและตรวจสอบค่าเหล่านั้น

  • พิมพ์

    • brain.print — แสดงข้อความ ตัวเลข หรือค่าตัวแปรในคอนโซล

    • brain.new_line — ย้ายเคอร์เซอร์ของคอนโซลไปที่ต้นบรรทัดถัดไป

    • brain.set_print_color — ตั้งค่าสีที่ใช้สำหรับข้อความที่พิมพ์ในคอนโซล

    • brain.clear — ล้างแถวทั้งหมดออกจากคอนโซล

  • เฝ้าสังเกต

    • monitor_variable — เพิ่มตัวแปรที่กำหนดไว้ล่วงหน้าอย่างน้อยหนึ่งตัวลงในแท็บ Monitor

    • monitor_sensor — เพิ่มค่าเซ็นเซอร์อย่างน้อยหนึ่งค่าลงในแท็บ Monitor

การตรวจจับ - ตรวจจับวัตถุที่อยู่ใกล้เคียงด้วยเซ็นเซอร์วัดระยะทางของยานสำรวจ

  • ระยะทาง

    • found_object - ส่งคืนว่าเซ็นเซอร์ระยะทางตรวจพบวัตถุหรือไม่

    • get_distance - ส่งคืนระยะทางไปยังวัตถุที่ตรวจพบที่ใกล้ที่สุด

การกระทำ - โต้ตอบกับทรัพยากร ศัตรู และระบบ AI ในตัวของยานสำรวจ

  • การกระทำ

    • pickup - หยิบแร่ธาตุ

    • drop - หยดแร่ธาตุ

    • use - ใช้แร่ธาตุเพื่อฟื้นฟูพลังงาน

    • absorb_radiation - ดูดซับรังสีจากศัตรู

    • standby - ตั้งค่า VR Rover ให้อยู่ในโหมดสแตนด์บายจนกว่าจะถึงระดับแบตเตอรี่ที่กำหนด

  • ผู้รับ

    • angle - ส่งคืนทิศทางไปยังวัตถุในหน่วยองศา

    • get_distance - ส่งคืนระยะทางไปยังวัตถุในหน่วยมิลลิเมตรหรือนิ้ว

    • location - ส่งคืนพิกัด X หรือ Y ของวัตถุในหน่วยมิลลิเมตรหรือนิ้ว

    • battery - ส่งคืนระดับแบตเตอรี่ของ VR Rover

    • minerals_stored - ส่งคืนจำนวนแร่ธาตุที่ VR Rover บรรทุกอยู่

    • storage_capacity - ส่งคืนความจุในการบรรทุกของ VR Rover

    • level - ส่งคืนระดับปัจจุบันของ VR Rover

    • exp - ส่งคืนคะแนนประสบการณ์ปัจจุบันของ VR Rover

    • enemy_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)

พารามิเตอร์

คำอธิบาย

direction

ทิศทางการเคลื่อนที่ของ VR Rover: FORWARD หรือ REVERSE

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)

พารามิเตอร์

คำอธิบาย

direction

ทิศทางการเคลื่อนที่ของ VR Rover: FORWARD หรือ REVERSE

distance

ระยะทางที่ VR Rover ขับเคลื่อนไปได้ ค่านี้อาจเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

หน่วยวัดระยะทาง: INCHES หรือ MM มิลลิเมตร

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) จะทำให้โปรเจ็กต์รอจนกว่า VR Rover จะเคลื่อนที่เสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน wait=False จะทำให้โค้ดบรรทัดถัดไปทำงานทันที

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)

พารามิเตอร์

คำอธิบาย

direction

ทิศทางการหมุนของ VR Rover: LEFT หรือ RIGHT

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)

พารามิเตอร์

คำอธิบาย

direction

ทิศทางการหมุนของ VR Rover: LEFT หรือ RIGHT

angle

จำนวนองศาที่ยานสำรวจ VR หมุน ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

หน่วยการหมุน: DEGREES

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) จะทำให้โปรเจ็กต์รอจนกว่า VR Rover จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน wait=False จะทำให้โค้ดบรรทัดถัดไปทำงานทันที

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)

พารามิเตอร์

คำอธิบาย

heading

ทิศทางที่ยานสำรวจ VR ควรหันหน้าไป (หน่วยเป็นองศา) ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float) ตั้งแต่ -359 ถึง 359 ได้

units

หน่วยหัวเรื่อง: DEGREES

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) จะทำให้โปรเจ็กต์รอจนกว่า VR Rover จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน wait=False จะทำให้โค้ดบรรทัดถัดไปทำงานทันที

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)

พารามิเตอร์

คำอธิบาย

object

ยานสำรวจ VR จะขับไปยังวัตถุใด:

  • BASE
  • ENEMY
  • MINERALS

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) จะทำให้โปรเจ็กต์รอจนกว่าการเคลื่อนไหวจะเสร็จสิ้นก่อนที่โค้ดบรรทัดถัดไปจะทำงาน wait=False จะทำให้โค้ดบรรทัดถัดไปทำงานทันที

หากไม่พบแร่ธาตุหรือศัตรูในระยะการมองเห็นของ 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)

พารามิเตอร์

คำอธิบาย

object

ยานสำรวจ VR จะหันไปทางวัตถุใด:

  • BASE
  • ENEMY
  • MINERALS

wait

ตัวเลือกเสริม

  • wait=True (ค่าเริ่มต้น) — รอจนกว่าตาจะจบ
  • wait=False — เริ่มตาและเล่นต่อทันที

หากไม่พบแร่ธาตุหรือศัตรูในระยะการมองเห็นของ 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)

พารามิเตอร์

คำอธิบาย

object

ยานสำรวจ VR จะเลี้ยวและขับไปยังวัตถุใด:

  • BASE
  • ENEMY
  • MINERALS

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) จะทำให้โปรเจ็กต์รอจนกว่าการเคลื่อนไหวจะเสร็จสิ้นก่อนที่โค้ดบรรทัดถัดไปจะทำงาน wait=False จะทำให้โค้ดบรรทัดถัดไปทำงานทันที

หากไม่พบแร่ธาตุหรือศัตรูในระยะการมองเห็นของ 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)

พารามิเตอร์

คำอธิบาย

heading

ค่าทิศทาง (หน่วยเป็นองศา) ที่จะตั้งค่าให้กับ VR Rover ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

หน่วยหัวเรื่อง: DEGREES

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)

พารามิเตอร์

คำอธิบาย

value

ระยะเวลาที่ VR Rover สามารถพยายามทำภารกิจให้เสร็จสิ้นได้ ค่านี้อาจเป็นจำนวนเต็มบวก integer หรือทศนิยม (float)

units

หน่วยเวลา: SECONDS หรือ MSEC (มิลลิวินาที)

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)

พารามิเตอร์

คำอธิบาย

velocity

ความเร็วในการขับขี่สามารถวัดได้ตั้งแต่ 0% ถึง 100% โดยค่านี้อาจเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

หน่วยความเร็ว: PERCENT

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)

พารามิเตอร์

คำอธิบาย

velocity

ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float ) ได้

units

หน่วยความเร็ว: PERCENT

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)

พารามิเตอร์

คำอธิบาย

units

หน่วยหัวเรื่อง: DEGREES

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)

พารามิเตอร์

คำอธิบาย

value

ข้อความ ตัวเลข หรือค่าตัวแปรที่จะแสดงในคอนโซล

def main():
    # Display a message in the Console
    brain.print("Hello, rover!")

# VR threads — Do not delete
vr_thread(main)

คอนโซล VEXcode แสดงคอนโซลและข้อความ "สวัสดีหุ่นยนต์!"

สมอง.บรรทัดใหม่#

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)

คอนโซล VEXcode แสดงคอนโซลและข้อความ "แถวที่ 1" ในบรรทัดแรกและ "แถวที่ 2" ในบรรทัดที่สอง

สมอง.ตั้งค่า_สีพิมพ์#

brain.set_print_color กำหนดสีที่ใช้สำหรับข้อความที่พิมพ์ในคอนโซลหลังจากใช้วิธีนี้ ในตอนเริ่มต้นของโปรเจกต์ สีข้อความในคอนโซลจะถูกตั้งค่าเป็น BLACK

Usage:
brain.set_print_color(color)

พารามิเตอร์

คำอธิบาย

color

สีที่ใช้สำหรับข้อความที่พิมพ์ในคอนโซล:

  • BLACK
  • BLUE
  • GREEN
  • RED

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)

คอนโซล VEXcode แสดงคอนโซลและข้อความสีดำที่ระบุว่า "สีข้อความเริ่มต้น" ในบรรทัดแรก และข้อความสีแดงที่ระบุว่า "สีข้อความสีแดง" ในบรรทัดที่สอง

สมอง.เคลียร์#

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”)

พารามิเตอร์

คำอธิบาย

variable

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

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”)

พารามิเตอร์

คำอธิบาย

sensor

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:

  • Brain
    • brain.timer_time
  • Drivetrain
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
  • Distance Sensor
    • distance.found_object
    • distance.get_distance
  • Rover
    • rover.battery
    • rover.minerals_stored
    • rover.level
    • rover.exp
    • rover.storage_capacity
    • rover.under_attack
    • rover.enemy_radiation
    • rover.enemy_level
    • rover.angle
    • rover.location
    • rover.detects
    • rover.sees
    • rover.get_distance

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)

พารามิเตอร์

คำอธิบาย

units

หน่วยวัดระยะทาง: INCHES หรือ MM

def main():
    brain.screen.print(distance.get_distance(MM))

# VR threads — Do not delete
vr_thread(main)

การกระทำ#

การกระทำ#

หยิบ#

หน่วยเก็บแร่หมายเลข pickup จะเก็บแร่ธาตุ

Usage:
rover.pickup(object)

พารามิเตอร์

คำอธิบาย

object

วัตถุที่ VR Rover สามารถตรวจจับได้:

  • MINERALS

def main():
    rover.pickup(MINERALS)

# VR threads — Do not delete
vr_thread(main)

หยด#

drop หยด มีแร่ธาตุเป็นส่วนประกอบ

Usage:
rover.drop(object)

พารามิเตอร์

คำอธิบาย

object

วัตถุที่ VR Rover สามารถปล่อยได้:

  • MINERALS

def main():
    rover.drop(MINERALS)

# VR threads — Do not delete
vr_thread(main)

ใช้#

use ใช้แร่ธาตุเพื่อฟื้นฟูพลังงาน แร่ธาตุต้องมีอยู่บนพื้นดินจึงจะสามารถนำมาใช้ได้

Usage:
rover.use(object)

พารามิเตอร์

คำอธิบาย

object

วัตถุที่ VR Rover สามารถใช้ได้:

  • MINERALS

def main():
    rover.use(MINERALS)

# VR threads — Do not delete
vr_thread(main)

ดูดซับรังสี#

absorb_radiation ดูดซับรังสีจากศัตรู

Usage:
rover.absorb_radiation(object)

พารามิเตอร์

คำอธิบาย

object

วัตถุที่ยานสำรวจ VR สามารถดูดซับรังสีได้:

  • ENEMY

def main():
    rover.absorb_radiation(ENEMY)

# VR threads — Do not delete
vr_thread(main)

สแตนด์บาย#

standby จะทำให้ VR Rover เข้าสู่โหมดสแตนด์บายจนกว่าระดับแบตเตอรี่จะถึงเกณฑ์ที่กำหนด

Usage:
rover.standby(percent)

พารามิเตอร์

คำอธิบาย

percent

ระดับแบตเตอรี่ที่ทำให้ VR Rover ออกจากโหมดสแตนด์บาย ตั้งแต่ 0 ถึง 100

หากค่าเกณฑ์ที่เลือกไว้เท่ากับหรือสูงกว่าระดับแบตเตอรี่ปัจจุบัน VR Rover จะไม่เข้าสู่โหมดสแตนด์บาย

def main():
    rover.standby(50)

# VR threads — Do not delete
vr_thread(main)

ผู้รับ#

มุม#

angle จะส่งคืนค่าทิศทางเป็นองศาไปยังวัตถุที่เลือก

Usage:
rover.angle(object)

พารามิเตอร์

คำอธิบาย

object

วัตถุที่ใช้รายงานทิศทาง:

  • BASE
  • ENEMY
  • MINERALS

สำหรับแร่ธาตุและศัตรู วัตถุนั้นต้องอยู่ภายในระยะ 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)

พารามิเตอร์

คำอธิบาย

object

วัตถุที่จะรายงานระยะห่าง:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

units

(ไม่บังคับ) หน่วยที่ใช้ในการรายงานระยะทาง: INCHES หรือ 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)

พารามิเตอร์

คำอธิบาย

object

วัตถุที่จะรายงานตำแหน่ง:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

axis

พิกัดใดที่จะส่งคืน:

  • X
  • Y

units

หน่วยที่ใช้ในการรายงานตำแหน่ง: INCHES หรือ MM

สำหรับแร่ธาตุและศัตรู วัตถุนั้นต้องอยู่ภายในระยะ 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)

พารามิเตอร์

คำอธิบาย

object

วัตถุที่ต้องการตรวจจับ:

  • ENEMY
  • MINERALS

รัศมีการตรวจจับของ 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)

พารามิเตอร์

คำอธิบาย

object

สิ่งที่ต้องดู:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

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)

พารามิเตอร์

คำอธิบาย

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)

พารามิเตอร์

คำอธิบาย

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)