Robotams skirtas Python#

Įvadas#

VR marsaeigis robotas turi pavaros mechanizmą, atstumo jutiklį ir veiksmus, būdingus tik Marsaeigio gelbėjimo žaidimų aikštelei.

Visi standartiniai VEXcode VR metodai yra prieinami Rover Rescue žaidimų aikštelėje. Žemiau pateikiamas visų galimų žaidimų aikštelei skirtų metodų sąrašas:

Pavarų sistema – judinkite ir stebėkite VR marsaeigį.

  • Veiksmai

    • drive – VR marsaeigis važiuoja pirmyn arba atgal amžinai.

    • drive_for – Judina VR marsaeigį pirmyn arba atgal tam tikrą atstumą.

    • turn – VR marsaeigį pasuka į kairę arba į dešinę amžinai.

    • turn_for – VR marsaeigį pasuka į kairę arba į dešinę tam tikru laipsnių skaičiumi.

    • turn_to_heading – VR marsaeigis pasukamas tam tikra kryptimi nuo -359 iki 359 laipsnių.

    • drive_to – VR marsaeigis važiuoja tiesiai link pasirinkto objekto.

    • turn_to – VR marsaeigis pasukamas į pasirinktą objektą.

    • go_to – Apsuka ir nuvairuoja VR roverį link pasirinkto objekto.

    • stop – Sustabdo VR roverio judėjimą.

  • Mutatoriai

  • Getteriai

    • heading – Grąžina dabartinę VR roverio kryptį nuo 0 iki 359,99 laipsnių.

    • is_done – Grąžina, ar VR marsaeigis baigė judėti.

    • is_moving – Grąžina, ar VR marsaeigis juda.

Konsolė – spausdinti į konsolę ir stebėti vertes.

  • Spausdinti

  • Monitorius

    • monitor_variable – Į skirtuką „Monitorius“ įtraukia vieną ar daugiau iš anksto apibrėžtų kintamųjų.

    • monitor_sensor – Į skirtuką „Monitorius“ įtraukia vieną ar daugiau jutiklio reikšmių.

Jutimas – aptikkite netoliese esančius objektus marsaeigio atstumo jutikliu.

  • Atstumas

    • found_object – Grąžina, ar atstumo jutiklis aptiko objektą.

    • get_distance – Grąžina atstumą iki artimiausio aptikto objekto.

Veiksmai – sąveikaukite su marsaeigio ištekliais, priešais ir integruotomis dirbtinio intelekto sistemomis.

  • Veiksmai

    • pickup – Surenka mineralus.

    • drop - Lašai mineralų.

    • use – Naudoja mineralus energijai atkurti.

    • absorb_radiation – Sugeria priešo spinduliuotę.

    • standby – VR roverį perjungia į budėjimo režimą, kol pasiekiamas akumuliatoriaus įkrovos slenkstis.

  • Getteriai

    • angle – Grąžina objekto kryptį laipsniais.

    • get_distance – Grąžina atstumą iki objekto milimetrais arba coliais.

    • location – Grąžina objekto X arba Y koordinates milimetrais arba coliais.

    • battery – Grąžina VR roverio baterijos lygį.

    • minerals_stored – Grąžina, kiek mineralų gabena VR marsaeigis.

    • storage_capacity – Grąžina VR roverio keliamąją galią.

    • level – Grąžina dabartinį VR roverio lygį.

    • exp – Grąžina dabartinius VR marsaeigio patirties taškus.

    • enemy_level – Grąžina artimiausio aptikto priešo lygį.

    • enemy_radiation – Grąžina artimiausio aptikto priešo radiacijos rodiklį.

    • detects – Grąžina, ar VR marsaeigis aptinka mineralus, ar priešus savo aptikimo spinduliu.

    • sees – Grąžina, ar VR roveris mato objektą savo matymo diapazone.

    • under_attack – Grąžina, ar VR marsaeigis šiuo metu yra atakuojamas.

  • Atgaliniai skambučiai

    • on_under_attack – Suveikia grįžtamasis ryšys, kai VR marsaeigis yra užpultas.

    • on_level_up – Vykdo grįžtamąjį ryšį, kai VR marsaeigis pakyla lygiu.

Šiame puslapyje pateiktuose pavyzdžiuose naudojama numatytoji „Playground“ pradžios pozicija.

Pavarų dėžė#

Pavaros sistema valdo VR marsaeigio važiavimą ir posūkius. Pavaros sistema gali judėti pirmyn arba atgal, pasukti į kairę arba į dešinę, pasukti į reikiamas kryptis ir važiuoti link mineralų, priešų arba bazės.

Veiksmai#

vairuoti#

drive judina VR marsaeigį pirmyn arba atgal amžinai. VR marsaeigis judės tol, kol jam bus duotas kitas veiksmas, pavyzdžiui, pasisukti arba sustoti.

Usage:
drivetrain.drive(direction)

Parametrai

Aprašymas

direction

VR roverio judėjimo kryptis: FORWARD arba REVERSE.

def main():
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

važiuoti_į#

drive_for judina VR marsaeigį pirmyn arba atgal tam tikru atstumu. Projektas lauks, kol VR marsaeigis baigs judėti, prieš paleidžiant kitą kodo eilutę.

Usage:
drivetrain.drive_for(direction, distance, units, wait=True)

Parametrai

Aprašymas

direction

VR roverio judėjimo kryptis: FORWARD arba REVERSE.

distance

VR roverio nuvažiuojamas atstumas. Tai gali būti sveikasis skaičius integer arba dešimtainis skaičius (float).

units

Atstumo vienetas: INCHES arba MM (milimetrai).

wait

Pasirinktinai. wait=True (numatytasis) priverčia projektą laukti, kol VR roveris baigs judėti, prieš paleidžiant kitą kodo eilutę. wait=False priverčia kitą kodo eilutę paleisti iš karto.

def main():
    drivetrain.drive_for(FORWARD, 200, MM)

# VR threads — Do not delete
vr_thread(main)

posūkis#

turn suka VR marsaeigį į kairę arba į dešinę amžinai. VR marsaeigis suksis tol, kol jam bus duotas kitas veiksmas, pavyzdžiui, važiuoti arba sustoti.

Usage:
drivetrain.turn(direction)

Parametrai

Aprašymas

direction

VR marsaeigio sukimosi kryptis: LEFT arba RIGHT.

def main():
    drivetrain.turn(RIGHT)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

posūkis_prieš#

turn_for pasuka VR marsaeigį į kairę arba į dešinę tam tikru laipsnių skaičiumi. Posūkis yra santykinis su dabartine VR marsaeigio padėtimi. Projektas lauks, kol VR marsaeigis baigs pasisukti, prieš paleidžiant kitą kodo eilutę.

Usage:
drivetrain.turn_for(direction, angle, units, wait=True)

Parametrai

Aprašymas

direction

VR marsaeigio sukimosi kryptis: LEFT arba RIGHT.

angle

VR roverio posūkio laipsnių skaičius. Tai gali būti sveikasis skaičius integer arba dešimtainis skaičius (float).

units

Sukimosi vienetas: DEGREES.

wait

Pasirinktinai. wait=True (numatytasis) priverčia projektą laukti, kol VR roveris baigs suktis, prieš paleidžiant kitą kodo eilutę. wait=False priverčia kitą kodo eilutę paleidžiama iš karto.

def main():
    drivetrain.turn_for(RIGHT, 90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

posūkis_į_vadovą#

Kryptis – tai VR marsaeigio pasukimo kryptis, matuojama laipsniais. turn_to_heading pasuka VR marsaeigį tam tikra kryptimi nuo -359 iki 359 laipsnių. VR marsaeigis pasuks trumpiausia kryptimi, kad pasiektų tikslinę kryptį.

VR marsaeigio pradinis kursas yra 0 laipsnių.

Projektas lauks, kol VR roveris baigs suktis, prieš paleidžiant kitą kodo eilutę.

Usage:
drivetrain.turn_to_heading(heading, units, wait=True)

Parametrai

Aprašymas

heading

VR marsaeigio kryptis laipsniais. Tai gali būti sveikasis skaičius integer arba dešimtainis skaičius (float) nuo -359 iki 359.

units

Krypties vienetas: DEGREES.

wait

Pasirinktinai. wait=True (numatytasis) priverčia projektą laukti, kol VR roveris baigs suktis, prieš paleidžiant kitą kodo eilutę. wait=False priverčia kitą kodo eilutę paleidžiama iš karto.

def main():
    drivetrain.turn_to_heading(90, DEGREES)

# VR threads — Do not delete
vr_thread(main)

važiuoti_į#

drive_to vairuoja VR marsaeigį tiesiai link pasirinkto objekto.

Usage:
drivetrain.drive_to(object, wait=True)

Parametrai

Aprašymas

object

Į kurį objektą nuvažiuos VR marsaeigis:

  • BASE
  • ENEMY
  • MINERALS

wait

Pasirinktinai. wait=True (numatytasis) priverčia projektą laukti, kol perkėlimas bus atliktas, prieš paleidžiant kitą kodo eilutę. wait=False priverčia kitą kodo eilutę paleisti iš karto.

Jei iškvietus komandą drive_to , VR roverio regėjimo lauke neaptinkamas mineralas ar priešas, VR roveris nevažiuos. Bazės taikiniu visada galima nusitaikyti.

Jei VR marsaeigis aptiks kelis mineralus arba kelis priešus, jis važiuos link arčiau esančio varianto.

def main():
    drivetrain.drive_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

pasukti_į#

turn_to pasuka VR marsaeigį pasirinkto objekto link.

Usage:
drivetrain.turn_to(object, wait=True)

Parametrai

Aprašymas

object

Į kurį objektą pasuks VR marsaeigis:

  • BASE
  • ENEMY
  • MINERALS

wait

Pasirinktinai.

  • wait=True (numatytasis) — Laukiama, kol baigsis ėjimas.
  • wait=False — Pradėti ėjimą ir nedelsiant tęsti.

Jei VR roverio regėjimo lauke neaptinkamas mineralas ar priešas, kai iškviečiama komanda turn_to , VR roveris nepasisuks. Bazę visada galima taikytis.

Jei VR marsaeigis aptiks kelis mineralus arba kelis priešus, jis pasisuks link arčiau esančio varianto.

def main():
    drivetrain.turn_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

eiti_į#

go_to apsisuka ir nuvairuoja VR marsaeigį link pasirinkto objekto.

Usage:
drivetrain.go_to(object, wait=True)

Parametrai

Aprašymas

object

Į kurį objektą VR marsaeigis pasisuks ir nuvažiuos:

  • BASE
  • ENEMY
  • MINERALS

wait

Pasirinktinai. wait=True (numatytasis) priverčia projektą laukti, kol perkėlimas bus atliktas, prieš paleidžiant kitą kodo eilutę. wait=False priverčia kitą kodo eilutę paleisti iš karto.

Jei iškvietus komandą go_to , VR roverio regėjimo lauke neaptinkamas mineralas ar priešas, VR roveris nevažiuos. Bazės taikiniu visada galima nusitaikyti.

Jei VR marsaeigis aptiks kelis mineralus arba kelis priešus, jis pereis prie arčiau esančio varianto.

def main():
    drivetrain.go_to(MINERALS)

# VR threads — Do not delete
vr_thread(main)

sustoti#

stop sustabdo VR roverio judėjimą.

Usage:
drivetrain.stop()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

def main():
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# VR threads — Do not delete
vr_thread(main)

Mutatoriai#

antraštės_rinkinys#

Kryptis – tai VR roverio judėjimo kryptis, matuojama laipsniais. set_heading pakeičia dabartinę VR roverio kryptį į naują krypties reikšmę.

Pavyzdžiui, jei VR roveris pasuko į dešinę, nustačius 0 laipsnių kryptį, ta dešinėn nukreipta pozicija tampa nauja 0 laipsnių. Tada VR roveris gali pasukti į kitas pozicijas, remdamasis ta nauja kryptimi.

Usage:
drivetrain.set_heading(heading, units)

Parametrai

Aprašymas

heading

VR marsaeigio krypties reikšmė laipsniais. Tai gali būti sveikasis skaičius integer arba dešimtainis skaičius (float).

units

Krypties vienetas: DEGREES.

def main():
    drivetrain.set_heading(0, DEGREES)

# VR threads — Do not delete
vr_thread(main)

nustatytas_laikas#

set_timeout nustato, kiek laiko VR roveris bandys užbaigti judėjimą. Jei VR roveris negali baigti per tą laiką, jis nustos bandyti ir pereis prie kitos kodo eilutės. Tai neleidžia VR roveriui užstrigti ties judėjimu.

Usage:
drivetrain.set_timeout(value, units)

Parametrai

Aprašymas

value

Laikas, per kurį VR roveris gali bandyti užbaigti judėjimą. Tai gali būti teigiamas sveikasis skaičius integer arba dešimtainis skaičius (float).

units

Laiko vienetas: SECONDS arba MSEC (milisekundės).

def main():
    drivetrain.set_timeout(1, SECONDS)

# VR threads — Do not delete
vr_thread(main)

nustatytas_važiavimo_greitis#

set_drive_velocity nurodo VR roveriui važiuoti greitį. Didesnis procentas leidžia VR roveriui važiuoti greičiau, o mažesnis procentas – lėčiau.

Kiekvienas projektas prasideda nuo to, kad VR roveris pagal numatytuosius nustatymus važiuoja 50 % greičiu.

Pastaba: Didesnis greitis lemia VR marsaeigio važiavimą greičiau, bet gali būti mažiau tikslus. Mažesnis greitis lemia VR marsaeigio važiavimą lėčiau, bet gali būti tikslesnis.

Usage:
drivetrain.set_drive_velocity(velocity, units)

Parametrai

Aprašymas

velocity

Važiavimo greitis nuo 0 % iki 100 %. Tai gali būti sveikasis skaičius integer arba dešimtainis skaičius (float).

units

Greičio vienetas: PERCENT.

def main():
    drivetrain.set_drive_velocity(50, PERCENT)

# VR threads — Do not delete
vr_thread(main)

nustatytas_posūkio_greitis#

set_turn_velocity nurodo VR marsaeigiui, kokiu greičiu jis turi suktis. Didesnis procentas leidžia VR marsaeigiui suktis greičiau, o mažesnis – lėčiau.

Kiekvienas projektas prasideda nuo to, kad VR roveris pagal numatytuosius nustatymus sukasi 50 % greičiu.

Pastaba: Didesnis greitis leidžia VR marsaeigiui sukiotis greičiau, bet gali būti ne toks tikslus. Mažesnis greitis leidžia VR marsaeigiui sukiotis lėčiau, bet gali būti tikslesnis.

Usage:
drivetrain.set_turn_velocity(velocity, units)

Parametrai

Aprašymas

velocity

Sukimosi greitis nuo 0 % iki 100 %. Tai gali būti sveikasis skaičius integer arba dešimtainis skaičius (float).

units

Greičio vienetas: PERCENT.

def main():
    drivetrain.set_turn_velocity(50, PERCENT)

# VR threads — Do not delete
vr_thread(main)

Getteriai#

antraštė#

Kryptis – tai VR roverio judėjimo kryptis, matuojama laipsniais. heading grąžina dabartinę VR roverio kryptį nuo 0 iki 359,99 laipsnių.

VR marsaeigio pradinis kursas yra 0 laipsnių.

Usage:
drivetrain.heading(units)

Parametrai

Aprašymas

units

Krypties vienetas: DEGREES.

def main():
    brain.screen.print(drivetrain.heading(DEGREES))

# VR threads — Do not delete
vr_thread(main)

baigta#

is_done grąžina, ar VR roveris baigė judėti, kaip loginę reikšmę. Tai gali būti naudojama kitų veiksmų, pagrįstų VR roverio judėjimu, laikui valdyti.

  • True — VR roveris baigė judėti.

  • False — VR marsaeigis vis dar juda.

Šis metodas veikia kartu su „Drivetrain“ metodais, turinčiais parametrą wait , tokiais kaip drive_for, turn_for, turn_to_heading, drive_to, turn_to ir go_to.

Usage:
drivetrain.is_done()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

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)

juda#

is_moving grąžina loginę reikšmę, ar VR roveris juda. Tai gali būti naudojama kitų veiksmų, pagrįstų VR roverio judėjimu, laikui valdyti.

  • True — VR marsaeigis juda.

  • False — VR marsaeigis nejuda.

Usage:
drivetrain.is_moving()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

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)

Konsolė#

Kol projektas vykdomas, konsolėje rodomas tekstas, skaičiai ir kintamųjų reikšmės. Konsolės metodai taip pat gali perkelti žymeklį į naują eilutę, nustatyti teksto spalvą, spausdinamą pakeitus spalvą, išvalyti konsolę ir pridėti kintamuosius arba jutiklių reikšmes į skirtuką „Monitorius“.

Spausdinti#

smegenų.spausdinimas#

brain.print konsolėje rodo tekstą, skaičius arba kintamųjų reikšmes, naudodamas dabartinę žymeklio padėtį.

Naudokite brain.new_line, jei norite, kad kita spausdinama reikšmė prasidėtų naujoje eilutėje.

Usage:
brain.print(value)

Parametrai

Aprašymas

value

Tekstas, skaičius arba kintamojo reikšmė, kuri bus rodoma konsolėje.

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

# VR threads — Do not delete
vr_thread(main)

VEXcode konsolė, kurioje rodoma konsolė ir tekstas „Labas, robote!“.

smegenys.nauja_eilutė#

brain.new_line perkelia žymeklį į 1 stulpelį kitoje konsolės eilutėje. Kita atspausdinta reikšmė bus rodoma toje eilutėje.

Usage:
brain.new_line()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

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 konsolė, kurioje pirmoje eilutėje rodomas konsolės pavadinimas ir tekstas „1 eilutė“, o antroje – „2 eilutė“.

smegenų.set_print_color#

brain.set_print_color nustato teksto, kuris bus spausdinamas konsolėje panaudojus šį metodą, spalvą. Projekto pradžioje konsolės teksto spalva nustatoma į BLACK.

Usage:
brain.set_print_color(color)

Parametrai

Aprašymas

color

Konsolėje spausdinamo teksto spalva:

  • 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 konsolė, kurioje pirmoje eilutėje rodomas konsolės pavadinimas ir juodas tekstas „Numatytoji teksto spalva“, o antroje – raudonas tekstas „Raudona teksto spalva“.

smegenys.aiškios#

brain.clear išvalo visas eilutes iš konsolės ir perkelia žymeklį atgal į 1 eilutę.

Usage:
brain.clear()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

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)

Monitorius#

monitoriaus_kintamasis#

monitor_variable prideda vieną ar daugiau iš anksto apibrėžtų kintamųjų į „VEXcode“ skirtuką „Monitor“. Tai leidžia stebėti kintamojo reikšmės pasikeitimą projekto vykdymo metu.

Kad monitor_variable sėkmingai stebėtų kintamuosius, jie turi būti globalūs. Kiekvieno kintamojo pavadinimą pateikite kaip eilutę.

Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)

Parametrai

Aprašymas

variable

Iš anksto apibrėžto stebimo globalaus kintamojo pavadinimas, pateiktas kaip eilutė. Norėdami stebėti daugiau nei vieną kintamąjį, atskirkite kiekvieno kintamojo pavadinimą kableliu.

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)

monitoriaus_jutiklis#

monitor_sensor prideda vieną ar daugiau jutiklio verčių į „VEXcode“ skirtuką „Monitorius“. Tai leidžia stebėti jutiklio verčių pokyčius projekto vykdymo metu.

Pateikite kiekvieno jutiklio reikšmę kaip eilutę.

Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)

Parametrai

Aprašymas

sensor

Jutiklio reikšmė, kurią reikia stebėti, pateikiama kaip eilutė. Norėdami stebėti daugiau nei vieną jutiklio reikšmę, kiekvieną jutiklio reikšmę atskirkite kableliu. Palaikomi jutiklių identifikatoriai:

  • Brain
    • brain.timer_time
  • Drivetrain
    • drivetrain.is_done
    • drivetrain.is_moving
    • drivetrain.heading
  • Atstumo jutiklis
    • 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)

Jutimas#

Atstumas#

rastas_objektas#

found_object grąžina, ar atstumo jutiklis aptinka objektą.

Usage:
distance.found_object()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

def main():
    if distance.found_object():
        brain.screen.print("Object detected")

# VR threads — Do not delete
vr_thread(main)

gauti_atstumą#

get_distance grąžina atstumą iki artimiausio aptikto objekto nuo atstumo jutiklio.

Usage:
distance.get_distance(units)

Parametrai

Aprašymas

units

Atstumo vienetas: INCHES arba MM

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

# VR threads — Do not delete
vr_thread(main)

Veiksmai#

Veiksmai#

pikapas#

pickup paima mineralus.

Usage:
rover.pickup(object)

Parametrai

Aprašymas

object

Objektas, kurį gali pakelti VR marsaeigis:

  • MINERALS

def main():
    rover.pickup(MINERALS)

# VR threads — Do not delete
vr_thread(main)

lašas#

drop lašas pernešė mineralus.

Usage:
rover.drop(object)

Parametrai

Aprašymas

object

Objektas, kurį gali numesti VR marsaeigis:

  • MINERALS

def main():
    rover.drop(MINERALS)

# VR threads — Do not delete
vr_thread(main)

naudoti#

use naudoja mineralus energijai atkurti. Mineralai turi būti ant žemės, kad būtų galima juos naudoti.

Usage:
rover.use(object)

Parametrai

Aprašymas

object

Objektas, kurį gali naudoti VR marsaeigis:

  • MINERALS

def main():
    rover.use(MINERALS)

# VR threads — Do not delete
vr_thread(main)

sugerti_spindulį#

absorb_radiation sugeria priešo spinduliuotę.

Usage:
rover.absorb_radiation(object)

Parametrai

Aprašymas

object

Objektas, kurio spinduliuotę gali sugerti VR marsaeigis:

  • ENEMY

def main():
    rover.absorb_radiation(ENEMY)

# VR threads — Do not delete
vr_thread(main)

budėjimo#

standby perjungia VR roverį į budėjimo režimą, kol pasiekiamas nurodytas akumuliatoriaus įkrovos lygis.

Usage:
rover.standby(percent)

Parametrai

Aprašymas

percent

Baterijos įkrovos riba, kuriai esant VR marsaeigis išeina iš budėjimo režimo, nuo 0 iki 100.

Jei pasirinkta riba yra lygi arba didesnė už dabartinį akumuliatoriaus lygį, VR Rover neįsijungs į budėjimo režimą.

def main():
    rover.standby(50)

# VR threads — Do not delete
vr_thread(main)

Getteriai#

kampas#

angle grąžina pasirinkto objekto kryptį laipsniais.

Usage:
rover.angle(object)

Parametrai

Aprašymas

object

Objektas, kurio kryptį reikia nurodyti:

  • BASE
  • ENEMY
  • MINERALS

Mineralų ir priešų atveju objektas turi būti ne toliau kaip 1000 mm atstumu ir VR marsaeigio matymo lauke. Apie bazę visada galima pranešti.

def main():
    brain.screen.print(rover.angle(MINERALS))

# VR threads — Do not delete
vr_thread(main)

gauti_atstumą#

get_distance grąžina atstumą nuo VR roverio iki pasirinkto objekto.

Usage:
rover.get_distance(object, units=MM)

Parametrai

Aprašymas

object

Atstumas iki objekto, iki kurio reikia pranešti:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

units

Pasirinktinai. Atstumui nurodyti naudojamas vienetas: INCHES arba MM

Mineralų ir priešų atveju objektas turi būti ne toliau kaip 1000 mm atstumu ir VR marsaeigio matymo lauke. Apie bazę visada galima pranešti.

Kliūčių ir pavojų atveju metodas praneša apie matomo objekto atstumą. Jei nematyti jokių objektų, grąžinama 1000 mm arba 39.37 colio reikšmė.

def main():
    brain.screen.print(rover.get_distance(MINERALS, MM))

# VR threads — Do not delete
vr_thread(main)

vieta#

location grąžina pasirinkto objekto X arba Y koordinačių vietą.

Usage:
rover.location(object, axis, units)

Parametrai

Aprašymas

object

Objektas, apie kurio vietą reikia pranešti:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

axis

Kurią koordinatę grąžinti:

  • X
  • Y

units

Vietos pranešimui naudojamas vienetas: INCHES arba MM

Mineralų ir priešų atveju objektas turi būti ne toliau kaip 1000 mm atstumu ir VR marsaeigio matymo lauke. Apie bazę visada galima pranešti.

def main():
    brain.screen.print(rover.location(MINERALS, X, MM))

# VR threads — Do not delete
vr_thread(main)

baterija#

battery grąžina dabartinį VR roverio baterijos lygį.

Usage:
rover.battery()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

def main():
    brain.screen.print(rover.battery())

# VR threads — Do not delete
vr_thread(main)

mineralai_saugomi#

minerals_stored grąžina dabartinį VR marsaeigio sandėlyje esančių mineralų kiekį.

Usage:
rover.minerals_stored()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

def main():
    brain.screen.print(rover.minerals_stored())

# VR threads — Do not delete
vr_thread(main)

saugojimo_talpa#

storage_capacity grąžina VR roverio keliamąją galią.

Usage:
rover.storage_capacity()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

def main():
    brain.screen.print(rover.storage_capacity())

# VR threads — Do not delete
vr_thread(main)

lygis#

level grąžina dabartinį VR roverio lygį.

Usage:
rover.level()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

def main():
    brain.screen.print(rover.level())

# VR threads — Do not delete
vr_thread(main)

patirtis#

exp grąžina patirties taškų skaičių, kurį VR marsaeigis turi dabartiniame lygyje.

Usage:
rover.exp()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

def main():
    brain.screen.print(rover.exp())

# VR threads — Do not delete
vr_thread(main)

priešo_lygis#

enemy_level grąžina artimiausio priešo, kurį aptiko VR marsaeigis, lygį.

Usage:
rover.enemy_level()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

Kai marsaeigio aptikimo spinduliu neaptinkamas priešas, šis metodas grąžina 0.

def main():
    brain.screen.print(rover.enemy_level())

# VR threads — Do not delete
vr_thread(main)

priešo_spinduliuotė#

enemy_radiation grąžina artimiausio priešo, kurį aptiko VR marsaeigis, radiacijos lygį.

Usage:
rover.enemy_radiation()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

Kai marsaeigio aptikimo spinduliu neaptinkamas priešas, šis metodas grąžina 0.

def main():
    brain.screen.print(rover.enemy_radiation())

# VR threads — Do not delete
vr_thread(main)

aptinka#

detects grąžina, ar VR marsaeigis aptinka mineralus, ar priešus savo aptikimo spinduliu.

Usage:
rover.detects(object)

Parametrai

Aprašymas

object

Aptikimo objektas:

  • ENEMY
  • MINERALS

VR roverio aptikimo spindulys yra 800 mm.

def main():
    if rover.detects(MINERALS):
        brain.screen.print("Minerals detected")

# VR threads — Do not delete
vr_thread(main)

mato#

sees grąžina, ar VR roveris mato pasirinktą objektą savo matymo diapazone.

Usage:
rover.sees(object)

Parametrai

Aprašymas

object

Objektas, kurį reikia pamatyti:

  • BASE
  • ENEMY
  • HAZARD
  • MINERALS
  • OBSTACLE

VR roveris gali matyti objektus 1000 mm atstumu ir 40 laipsnių matymo lauke.

def main():
    if rover.sees(MINERALS):
        brain.screen.print("Minerals in view")

# VR threads — Do not delete
vr_thread(main)

po atakos#

under_attack grąžina, ar VR marsaeigis šiuo metu yra puolamas priešo.

Usage:
rover.under_attack()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

def main():
    if rover.under_attack():
        brain.screen.print("The rover is under attack!")

# VR threads — Do not delete
vr_thread(main)

Atgaliniai skambučiai#

atakos_lauke#

on_under_attack užregistruoja grįžtamojo ryšio funkciją, kuri paleidžiama, kai VR marsaeigis patiria žalą iš priešo.

Usage:
rover.on_under_attack(callback)

Parametrai

Aprašymas

callback

Funkcija, kuri paleidžiama, kai VR marsaeigis yra atakuojamas.

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#

on_level_up registruoja grįžtamojo ryšio funkciją, kuri paleidžiama, kai VR roveris juda iš vieno lygio į kitą.

Usage:
rover.on_level_up(callback)

Parametrai

Aprašymas

callback

Funkcija, kuri paleidžiama, kai VR roveris kyla lygiu.

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)