لغة بايثون الخاصة بالروبوتات#
مقدمة#
يشتمل روبوت VR Rover على نظام نقل الحركة، ومستشعر المسافة، وإجراءات فريدة خاصة بملعب Rover Rescue.
جميع طرق الواقع الافتراضي القياسية في VEXcode متاحة للاستخدام في بيئة اللعب Rover Rescue. فيما يلي قائمة بجميع الطرق المتاحة الخاصة ببيئة اللعب:
نظام الدفع - تحريك ومراقبة مركبة الواقع الافتراضي.
الإجراءات
drive- يحرك مركبة الواقع الافتراضي للأمام أو للخلف إلى الأبد.drive_for- يحرك مركبة الواقع الافتراضي للأمام أو للخلف لمسافة محددة.turn- يقوم بتدوير مركبة الواقع الافتراضي إلى اليسار أو اليمين إلى الأبد.turn_for- يقوم بتدوير مركبة الواقع الافتراضي إلى اليسار أو اليمين لعدد محدد من الدرجات.turn_to_heading- يقوم بتدوير مركبة الواقع الافتراضي لمواجهة اتجاه محدد من -359 إلى 359 درجة.drive_to- يقود مركبة الواقع الافتراضي مباشرة نحو الكائن المحدد.turn_to- يقوم بتدوير مركبة الواقع الافتراضي لمواجهة الكائن المحدد.go_to- يقوم بتدوير وقيادة مركبة الواقع الافتراضي إلى الكائن المحدد.stop- يوقف حركة مركبة الواقع الافتراضي.
المُحَوِّرون
set_heading– يغير اتجاه مركبة الواقع الافتراضي الحالية إلى اتجاه جديد.set_timeout- يحدد مقدار الوقت الذي سيحاول فيه الروبوت الجوال في الواقع الافتراضي إنهاء الحركة.set_drive_velocity– يخبر مركبة الواقع الافتراضي بالسرعة التي يجب أن تسير بها.set_turn_velocity– يخبر مركبة الواقع الافتراضي بمدى سرعة الدوران.
المُنجزون
وحدة التحكم – اطبع على وحدة التحكم وراقب القيم.
مطبعة
brain.print— يعرض النص أو الأرقام أو قيم المتغيرات في وحدة التحكم.brain.new_line— ينقل مؤشر وحدة التحكم إلى بداية السطر التالي.brain.set_print_color— يحدد اللون المستخدم للنص المطبوع في وحدة التحكم.brain.clear— يمسح جميع الصفوف من وحدة التحكم.
شاشة
monitor_variable— يضيف متغيرًا واحدًا أو أكثر من المتغيرات المحددة مسبقًا إلى علامة التبويب Monitor.monitor_sensor— يضيف قيمة واحدة أو أكثر من قيم المستشعر إلى علامة التبويب Monitor.
الاستشعار - اكتشاف الأجسام القريبة باستخدام مستشعر المسافة الخاص بالمركبة الجوالة.
مسافة
found_object- تُرجع ما إذا كان مستشعر المسافة يكتشف وجود جسم ما.get_distance- تُرجع المسافة إلى أقرب كائن تم اكتشافه.
الإجراءات - التفاعل مع موارد المركبة الجوالة، والأعداء، وأنظمة الذكاء الاصطناعي المدمجة فيها.
الإجراءات
pickup- يلتقط المعادن.drop- يقطر المعادن.use- يستخدم المعادن لاستعادة الطاقة.absorb_radiation- يمتص الإشعاع من العدو.standby- يضع جهاز VR Rover في وضع الاستعداد حتى يتم الوصول إلى عتبة البطارية.
المُنجزون
angle- تُرجع اتجاه الجسم بالدرجات.get_distance- تُرجع المسافة إلى كائن ما بالملليمترات أو البوصات.location- يُرجع إحداثيات X أو Y لكائن ما بالملليمترات أو البوصات.battery- يعيد مستوى بطارية المركبة الجوالة VR.minerals_stored- تُرجع عدد المعادن التي يحملها جهاز VR Rover.storage_capacity- تُرجع سعة حمل مركبة الواقع الافتراضي.level- يُرجع المستوى الحالي لـ VR Rover.exp- يعيد نقاط الخبرة الحالية لمركبة الواقع الافتراضي.enemy_level- يُرجع مستوى أقرب عدو تم اكتشافه.enemy_radiation- يعيد إشعاع أقرب عدو تم اكتشافه.detects- يُرجع ما إذا كان جهاز VR Rover يكتشف المعادن أو الأعداء في نطاق الكشف الخاص به.sees- تُرجع ما إذا كان جهاز الواقع الافتراضي الجوال يرى كائنًا في نطاق رؤيته.under_attack- تُرجع ما إذا كان الروبوت الجوال VR يتعرض للهجوم حاليًا.
المكالمات اللاحقة
on_under_attack- يقوم بتشغيل رد نداء عند تعرض مركبة الواقع الافتراضي للهجوم.on_level_up- يقوم بتشغيل رد نداء عندما يرتفع مستوى مركبة الواقع الافتراضي.
تستخدم الأمثلة الموجودة في هذه الصفحة موضع البداية الافتراضي في ساحة اللعب.
نظام نقل الحركة#
يتحكم نظام الدفع في كيفية قيادة مركبة الواقع الافتراضي وانعطافها. يمكن لنظام الدفع التحرك للأمام أو للخلف، والانعطاف يمينًا أو يسارًا، والانعطاف باتجاهات محددة، والقيادة نحو المعادن أو الأعداء أو القاعدة.
الإجراءات#
يقود#
يُحرّك الأمر drive مركبة الواقع الافتراضي للأمام أو للخلف بشكل دائم. وستستمر المركبة في الحركة حتى يتم إعطاؤها أمرًا آخر، مثل الانعطاف أو التوقف.
Usage:
drivetrain.drive(direction)
حدود |
وصف |
|---|---|
|
اتجاه حركة مركبة الواقع الافتراضي: |
def main():
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
drive_for#
يُحرّك drive_for مركبة الواقع الافتراضي للأمام أو للخلف لمسافة محددة. سينتظر البرنامج حتى تنتهي المركبة من الحركة قبل تنفيذ السطر التالي من التعليمات البرمجية.
Usage:
drivetrain.drive_for(direction, distance, units, wait=True)
حدود |
وصف |
|---|---|
|
اتجاه حركة مركبة الواقع الافتراضي: |
|
المسافة التي تقطعها مركبة الواقع الافتراضي. يمكن أن تكون هذه القيمة |
|
وحدة قياس المسافة: |
|
اختياري. |
def main():
drivetrain.drive_for(FORWARD, 200, MM)
# VR threads — Do not delete
vr_thread(main)
دور#
يؤدي الضغط على زر turn إلى تدوير المركبة الافتراضية يمينًا أو يسارًا بشكل دائم. وستستمر المركبة في الدوران حتى يتم إعطاؤها إجراءً آخر، مثل القيادة أو التوقف.
Usage:
drivetrain.turn(direction)
حدود |
وصف |
|---|---|
|
اتجاه دوران مركبة الواقع الافتراضي: |
def main():
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
turn_for#
يُدير الأمر turn_for مركبة الواقع الافتراضي يمينًا أو يسارًا بزاوية محددة. وتُحسب زاوية الدوران بالنسبة للموقع الحالي للمركبة. سينتظر البرنامج حتى تنتهي المركبة من الدوران قبل تنفيذ السطر التالي من التعليمات البرمجية.
Usage:
drivetrain.turn_for(direction, angle, units, wait=True)
حدود |
وصف |
|---|---|
|
اتجاه دوران مركبة الواقع الافتراضي: |
|
عدد الدرجات التي يدور بها الروبوت الجوال. يمكن أن يكون هذا العدد |
|
وحدة الدوران: |
|
اختياري. |
def main():
drivetrain.turn_for(RIGHT, 90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
انتقل إلى العنوان#
الاتجاه هو المسار الذي يواجهه الروبوت الجوال، ويُقاس بالدرجات. يُشير الأمر turn_to_heading إلى اتجاه محدد يتراوح بين -359 و359 درجة. سيسلك الروبوت الجوال أقصر مسار للوصول إلى الاتجاه المستهدف.
اتجاه بدء تشغيل المركبة الجوالة VR هو 0 درجة.
سينتظر المشروع حتى تنتهي مركبة الواقع الافتراضي من الدوران قبل تشغيل سطر التعليمات البرمجية التالي.
Usage:
drivetrain.turn_to_heading(heading, units, wait=True)
حدود |
وصف |
|---|---|
|
الاتجاه الذي يجب أن يواجهه الروبوت الجوال، بالدرجات. يمكن أن يكون هذا الاتجاه عددًا |
|
وحدة العنوان: |
|
اختياري. |
def main():
drivetrain.turn_to_heading(90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
drive_to#
drive_to يقود مركبة الواقع الافتراضي مباشرة نحو الكائن المحدد.
Usage:
drivetrain.drive_to(object, wait=True)
حدود |
وصف |
|---|---|
|
إلى أي هدف ستتجه مركبة الواقع الافتراضي؟
|
|
اختياري. |
إذا لم يتم رصد معدن أو عدو ضمن نطاق رؤية المركبة الجوالة عند استدعاء الأمر drive_to ، فلن تتحرك المركبة. ويمكن استهداف القاعدة في أي وقت.
إذا رصدت مركبة الواقع الافتراضي عدة معادن أو عدة أعداء، فسوف تتجه نحو الخيار الأقرب.
def main():
drivetrain.drive_to(MINERALS)
# VR threads — Do not delete
vr_thread(main)
انتقل إلى#
turn_to يقوم بتدوير مركبة الواقع الافتراضي لمواجهة الكائن المحدد.
Usage:
drivetrain.turn_to(object, wait=True)
حدود |
وصف |
|---|---|
|
أي جسم سيتجه إليه الروبوت الجوال للواقع الافتراضي؟
|
|
اختياري.
|
إذا لم يتم رصد معدن أو عدو ضمن نطاق رؤية المركبة الجوالة عند استدعاء الأمر turn_to ، فلن تستدير المركبة. ويمكن استهداف القاعدة في أي وقت.
إذا رصدت مركبة الواقع الافتراضي عدة معادن أو عدة أعداء، فسوف تتجه نحو الخيار الأقرب.
def main():
drivetrain.turn_to(MINERALS)
# VR threads — Do not delete
vr_thread(main)
go_to#
go_to يقوم بالانعطاف ويقود مركبة الواقع الافتراضي إلى الكائن المحدد.
Usage:
drivetrain.go_to(object, wait=True)
حدود |
وصف |
|---|---|
|
إلى أي هدف ستتجه مركبة الواقع الافتراضي:
|
|
اختياري. |
إذا لم يتم رصد معدن أو عدو ضمن نطاق رؤية المركبة الجوالة عند استدعاء الأمر go_to )، فلن تتحرك المركبة. ويمكن استهداف القاعدة في أي وقت.
إذا رصدت مركبة الواقع الافتراضي عدة معادن أو عدة أعداء، فسوف تنتقل إلى الخيار الأقرب.
def main():
drivetrain.go_to(MINERALS)
# VR threads — Do not delete
vr_thread(main)
قف#
stop يوقف حركة مركبة الواقع الافتراضي.
Usage:
drivetrain.stop()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
def main():
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
المتحولون#
تعيين_العنوان#
الاتجاه هو المسار الذي يواجهه الروبوت الجوال، ويُقاس بالدرجات. يُغيّر set_heading الاتجاه الحالي للروبوت الجوال إلى قيمة اتجاه جديدة.
على سبيل المثال، إذا استدارت المركبة الجوالة للواقع الافتراضي نحو اليمين، فإن ضبط اتجاهها على صفر درجة يجعل هذا الوضع المواجه لليمين هو الوضع الجديد عند صفر درجة. بعد ذلك، يمكن للمركبة الجوالة للواقع الافتراضي أن تستدير إلى أوضاع أخرى بناءً على هذا الاتجاه الجديد.
Usage:
drivetrain.set_heading(heading, units)
حدود |
وصف |
|---|---|
|
قيمة الاتجاه، بالدرجات، التي سيتم ضبطها لمركبة الواقع الافتراضي. يمكن أن تكون هذه القيمة عددًا |
|
وحدة العنوان: |
def main():
drivetrain.set_heading(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
set_timeout#
يُحدد set_timeout المدة الزمنية التي سيحاول فيها الروبوت الجوال (VR Rover) إنهاء حركة معينة. إذا لم يتمكن الروبوت من إنهاء الحركة خلال هذه المدة، فسيتوقف عن المحاولة وينتقل إلى السطر التالي من التعليمات البرمجية. هذا يمنع الروبوت من التوقف عند حركة معينة.
Usage:
drivetrain.set_timeout(value, units)
حدود |
وصف |
|---|---|
|
مقدار الوقت الذي يمكن أن يحاول فيه الروبوت الجوال في الواقع الافتراضي إنهاء حركة ما. يمكن أن يكون هذا عددًا صحيحًا موجبًا |
|
وحدة الزمن: |
def main():
drivetrain.set_timeout(1, SECONDS)
# VR threads — Do not delete
vr_thread(main)
ضبط سرعة القيادة#
يُحدد set_drive_velocity سرعة قيادة مركبة الواقع الافتراضي. كلما زادت النسبة المئوية، زادت سرعة المركبة، وكلما انخفضت، قلت سرعتها.
يبدأ كل مشروع بقيام مركبة الواقع الافتراضي بالقيادة بسرعة 50% بشكل افتراضي.
ملاحظة: السرعة العالية تجعل مركبة الواقع الافتراضي تسير بسرعة أكبر، ولكنها قد تكون أقل دقة. السرعة المنخفضة تجعلها تسير ببطء، ولكنها قد تكون أكثر دقة.
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 سرعة دوران مركبة الواقع الافتراضي. كلما زادت النسبة المئوية، زادت سرعة الدوران، وكلما انخفضت، قلت السرعة.
يبدأ كل مشروع بسيارة الواقع الافتراضي التي تدور بسرعة 50% بشكل افتراضي.
ملاحظة: السرعة العالية تجعل مركبة الواقع الافتراضي تدور بشكل أسرع، ولكنها قد تكون أقل دقة. السرعة المنخفضة تجعلها تدور بشكل أبطأ، ولكنها قد تكون أكثر دقة.
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 الاتجاه الحالي للروبوت الجوال من 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 قيمة منطقية تُشير إلى ما إذا كان الروبوت الجوال قد انتهى من الحركة. ويمكن استخدام هذه القيمة للتحكم في توقيت سلوكيات أخرى بناءً على حركة الروبوت الجوال.
True— انتهى تحرك مركبة الواقع الافتراضي.False— لا تزال مركبة الواقع الافتراضي تتحرك.
تعمل هذه الطريقة جنبًا إلى جنب مع طرق 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#
تُشير القيمة المنطقية is_moving إلى ما إذا كان الروبوت المتحرك في الواقع الافتراضي يتحرك أم لا. ويمكن استخدام هذه القيمة للتحكم في توقيت سلوكيات أخرى بناءً على حركة الروبوت المتحرك.
True— المركبة الجوالة بتقنية الواقع الافتراضي تتحرك.False— المركبة الجوالة بتقنية الواقع الافتراضي لا تتحرك.
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.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#
يؤدي الأمر 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#
brain.set_print_color sets the color used for text printed in the Console after this method is used. At the start of a project, the Console text color is set to 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 متغيرًا واحدًا أو أكثر من المتغيرات المُعرّفة مسبقًا إلى علامة التبويب “المراقبة” في 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 قيمة مستشعر واحد أو أكثر إلى علامة التبويب “المراقبة” في VEXcode. يتيح لك هذا مراقبة تغير قيم المستشعر أثناء تشغيل المشروع.
قم بتوفير قيمة كل مستشعر كسلسلة نصية.
Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)
حدود |
وصف |
|---|---|
|
قيمة المستشعر المراد مراقبتها، مُعطاة كسلسلة نصية. لمراقبة أكثر من قيمة مستشعر، افصل بين كل قيمة مستشعر بفاصلة. تشمل مُعرّفات المستشعرات المدعومة ما يلي:
|
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)
حدود |
وصف |
|---|---|
|
الأشياء التي يمكن لمركبة الواقع الافتراضي التقاطها:
|
def main():
rover.pickup(MINERALS)
# VR threads — Do not delete
vr_thread(main)
يسقط#
تم نقل drop قطرة من المعادن.
Usage:
rover.drop(object)
حدود |
وصف |
|---|---|
|
الأشياء التي يمكن أن يسقطها الروبوت الجوال بتقنية الواقع الافتراضي:
|
def main():
rover.drop(MINERALS)
# VR threads — Do not delete
vr_thread(main)
يستخدم#
use يستخدم المعادن لاستعادة الطاقة. يجب أن تكون المعادن موجودة على الأرض ليتم استخدامها.
Usage:
rover.use(object)
حدود |
وصف |
|---|---|
|
العناصر التي يمكن لمركبة الواقع الافتراضي استخدامها:
|
def main():
rover.use(MINERALS)
# VR threads — Do not delete
vr_thread(main)
امتصاص الإشعاع#
absorb_radiation يمتص الإشعاع من العدو.
Usage:
rover.absorb_radiation(object)
حدود |
وصف |
|---|---|
|
الجسم الذي يمكن لمركبة الواقع الافتراضي امتصاص الإشعاع منه:
|
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 مم وفي مجال رؤية مركبة الواقع الافتراضي. ويمكن الإبلاغ عن القاعدة في أي وقت.
def main():
brain.screen.print(rover.angle(MINERALS))
# VR threads — Do not delete
vr_thread(main)
المسافة#
get_distance تُرجع المسافة من مركبة الواقع الافتراضي إلى الكائن المحدد.
Usage:
rover.get_distance(object, units=MM)
حدود |
وصف |
|---|---|
|
الهدف المراد قياس المسافة إليه:
|
|
اختياري. الوحدة المستخدمة للإبلاغ عن المسافة: |
بالنسبة للمعادن والأعداء، يجب أن يكون الجسم ضمن مسافة 1000 مم وفي مجال رؤية مركبة الواقع الافتراضي. ويمكن الإبلاغ عن القاعدة في أي وقت.
بالنسبة للعوائق والمخاطر، تُبلغ الطريقة عن مسافة الجسم المرئي. إذا لم يكن هناك أي جسم مرئي، فإنها تُرجع 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 مم وفي مجال رؤية مركبة الواقع الافتراضي. ويمكن الإبلاغ عن القاعدة في أي وقت.
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 تُرجع الكمية الحالية من المعادن الموجودة في مخزن مركبة الواقع الافتراضي.
Usage:
rover.minerals_stored()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
def main():
brain.screen.print(rover.minerals_stored())
# VR threads — Do not delete
vr_thread(main)
سعة التخزين#
storage_capacity تُرجع سعة الحمل لمركبة الواقع الافتراضي.
Usage:
rover.storage_capacity()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
def main():
brain.screen.print(rover.storage_capacity())
# VR threads — Do not delete
vr_thread(main)
مستوى#
المستوى level يعيد المستوى الحالي لمركبة الواقع الافتراضي.
Usage:
rover.level()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
def main():
brain.screen.print(rover.level())
# VR threads — Do not delete
vr_thread(main)
خبرة#
exp تُرجع عدد نقاط الخبرة التي يمتلكها الروبوت الجوال في الواقع الافتراضي عند المستوى الحالي.
Usage:
rover.exp()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
def main():
brain.screen.print(rover.exp())
# VR threads — Do not delete
vr_thread(main)
مستوى العدو#
enemy_level تُرجع مستوى أقرب عدو تم اكتشافه بواسطة مركبة الواقع الافتراضي.
Usage:
rover.enemy_level()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
عندما لا يتم اكتشاف أي عدو ضمن نطاق اكتشاف المركبة الجوالة، فإن هذه الطريقة تُرجع 0.
def main():
brain.screen.print(rover.enemy_level())
# VR threads — Do not delete
vr_thread(main)
إشعاع العدو#
enemy_radiation تُرجع إشعاع أقرب عدو تم اكتشافه بواسطة مركبة الواقع الافتراضي.
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 800 ملم.
def main():
if rover.detects(MINERALS):
brain.screen.print("Minerals detected")
# VR threads — Do not delete
vr_thread(main)
يرى#
sees يُرجع ما إذا كان جهاز الواقع الافتراضي الجوال يرى الكائن المحدد في نطاق رؤيته.
Usage:
rover.sees(object)
حدود |
وصف |
|---|---|
|
الهدف المراد رؤيته:
|
يستطيع جهاز الواقع الافتراضي الجوال رؤية الأشياء في نطاق 1000 ملم وداخل مجال رؤيته البالغ 40 درجة.
def main():
if rover.sees(MINERALS):
brain.screen.print("Minerals in view")
# VR threads — Do not delete
vr_thread(main)
تحت الهجوم#
under_attack تُرجع ما إذا كانت مركبة الواقع الافتراضي تتعرض حاليًا لهجوم من عدو.
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)
حدود |
وصف |
|---|---|
|
الوظيفة التي يتم تشغيلها عندما تتعرض مركبة الواقع الافتراضي للهجوم. |
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 يسجل دالة رد نداء يتم تشغيلها عندما ينتقل جهاز الواقع الافتراضي من مستوى إلى آخر.
Usage:
rover.on_level_up(callback)
حدود |
وصف |
|---|---|
|
الوظيفة التي يتم تشغيلها عندما يرتفع مستوى مركبة الواقع الافتراضي. |
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)