机器人专用 Python#

VR Rover 可以访问标准 VR 传动系统、事件、控制、变量和功能命令。

传动系统#

传动系统.drive_to()#

drivetrain.drive_to(object, wait) 命令用于驱动 VR Rover 行驶至指定物体之间的距离。

这可以是非等待等待命令,取决于是否使用了“wait”参数。

参数

描述

目的

VR 探测车将驶向的物体:“基地”、“敌人”或“矿产”。

等待

可选。 wait 参数决定命令是否阻止后续命令(wait=True)或允许立即执行(wait=False)。如果未指定,则 wait 参数的默认值为 wait=True

如果在调用“drivetrain.drive_to()”命令时未在 VR Rover 的视觉范围内检测到矿物或敌人,则机器人将不会行驶。

但是,当使用“BASE”参数时,机器人将向前驱动它与底座之间的距离。

**返回:**无。

def main():
    # Drive the VR Rover to the nearest mineral.
    drivetrain.drive_to(MINERALS)

传动系统.go_to()#

drivetrain.go_to(object, wait) 命令用于转动并驾驶 VR Rover 到达指定物体。

这可以是非等待等待命令,取决于是否使用了“wait”参数。

参数

描述

目的

VR 探测车将转向并驶向的对象:“基地”、“敌人”或“矿产”。

等待

可选。 wait 参数决定命令是否阻止后续命令(wait=True)或允许立即执行(wait=False)。如果未指定,则 wait 参数的默认值为 wait=True

如果在调用“drivetrain.go_to()”命令时未在 VR Rover 的视觉范围内检测到矿物或敌人,则机器人将不会行驶。

但是,当使用“BASE”参数时,机器人将始终转向底座,然后朝底座行驶。

**返回:**无。

def main():
    # Turn the VR Rover towards the base and drive to it.
    drivetrain.go_to(BASE)

传动系统.turn_to()#

drivetrain.turn_to(object, wait) 命令用于将 VR Rover 转向指定的对象。

这可以是非等待等待命令,取决于是否使用了“wait”参数。

参数

描述

目的

VR 探测车将转向的对象:“基地”、“敌人”或“矿物”。

等待

可选。 wait 参数决定命令是否阻止后续命令(wait=True)或允许立即执行(wait=False)。如果未指定,则 wait 参数的默认值为 wait=True

如果在调用“drivetrain.drive_to()”命令时未在 VR Rover 的视觉范围内检测到矿物或敌人,则机器人将不会行驶。

然而,当使用“BASE”参数时,机器人将转向面向底座。

**返回:**无。

def main():
    # Turn the VR Rover towards the nearest mineral.
    drivetrain.turn_to(MINERALS)

行动#

rover.pickup()#

rover.pickup(object) 命令用于拾取操场上的矿物。

这是一个非等待命令,允许任何后续命令无延迟地执行。

参数

描述

目的

VR Rover 可以拾取的物体:“矿物质”。

**返回:**无。

def main():
    # Turn and drive the VR Rover to the nearest minerals.
    drivetrain.go_to(MINERALS)
    # Pick up the minerals.
    rover.pickup(MINERALS)

rover.drop()#

rover.drop(object) 命令用于将矿物投放到操场上。

这是一个非等待命令,允许任何后续命令无延迟地执行。

参数

描述

目的

VR Rover 可以掉落的物体:“矿物质”。

**返回:**无。

def main():
    # Pick up the minerals.
    rover.pickup(MINERALS)
    # Drive in reverse for 200 millimeters.
    drivetrain.drive_for(REVERSE, 200, MM)
    # Drop the minerals.
    rover.drop(MINERALS)

rover.使用()#

rover.use(object) 命令用于消耗其存储的矿物来补充能量并获得经验值。矿物必须位于地面上才能被消耗。

这是一个非等待命令,允许任何后续命令无延迟地执行。

参数

描述

目的

VR Rover 可以消耗的物体:“矿物质”。

**返回:**无。

def main():
    # Turn and drive the VR Rover to the nearest minerals.
    drivetrain.go_to(MINERALS)
    # Consume the minerals.
    rover.use(MINERALS)

rover.吸收辐射()#

rover.absorb_radiation(object) 命令用于吸收Rover Rescue 游乐场中敌人的辐射。

这是一个非等待命令,允许任何后续命令无延迟地执行。

参数

描述

目的

VR 探测器可以吸收辐射的物体:“敌人”。

**返回:**无。

def main():
    # Turn and drive the VR Rover to the nearest enemy.
    drivetrain.go_to(ENEMY)
    # Absorb radiation from the enemy once.
    rover.absorb_radiation(ENEMY)

rover.待机()#

rover.standby(percent) 命令用于将 VR Rover 置于待机模式,直到达到指定的电池阈值。

这是一个非等待命令,允许任何后续命令无延迟地执行。

待机状态下,VR Rover 的电池消耗速度会较慢,但生存天数计数器会以更高的速率增加。

一旦达到电池电量阈值,VR Rover 将退出待机状态,重新消耗电池并以正常速率增加生存天数计数器。

如果传递的阈值等于或高于当前电池电量,VR Rover 将不会进入待机模式。

参数

描述

百分比

VR Rover 退出待机模式的电池阈值,从“0”到“100”。

**返回:**无。

def main():
    # Go into standby mode until battery reaches 35%.
    rover.standby(35)

外观#

VR Rover 无法访问 VR Pen,但它仍然可以打印到其监视器控制台。

活动#

当“漫游者”遭受攻击时#

当 VR Rover 受到敌人的伤害时,rover.on_under_attack(callback) 命令运行回调函数。

这是一个非等待命令,允许任何后续命令无延迟地执行。

**返回:**无。

# Define a new function for when the rover is under attack.
def under_attack():
    # The rover will print that it is under attack in the Print Console.
    brain.print("The rover is under attack!")

def main():
    # Register the under_attack() function to trigger
    # when the rover is under attack.
    rover.on_under_attack(under_attack)
    # Wait .15 seconds to allow the function time to register in the event.
    wait(.15, SECONDS)

当 Rover 升级时#

当 VR Rover 从一个级别移动到下一个级别时,rover.on_level_up(callback) 命令运行回调函数。

这是一个非等待命令,允许任何后续命令无延迟地执行。

**返回:**无。

# Define a new function for when the rover levels up.
def level_up():
    # The rover will print that it leveled up in the Print Console.
    brain.print("The rover leveled up!")

def main():
    # Register the level_up() function to trigger
    # when the rover levels up.
    rover.on_level_up(level_up)
    # Wait .15 seconds to allow the function time to register in the event.
    wait(.15, SECONDS)

传感#

VR Rover 可以访问标准大脑、传动系统和距离感应命令。

rover.电池()#

rover.battery() 命令报告 VR Rover 的当前电池电量。

这是一个非等待命令,允许任何后续命令无延迟地执行。

**返回:**报告一个数值。

def main():
    # Print the current battery level.
    brain.print(rover.battery())

rover.minerals_stored()#

rover.minerals_stored() 命令报告 VR Rover 当前存储的矿物数量。

这是一个非等待命令,允许任何后续命令无延迟地执行。

**返回:**报告一个数值。

def main():
    # Print the current amount of minerals in the VR Rover's storage.
    brain.print(rover.minerals_stored())

流动站.级别()#

rover.level() 命令报告 VR Rover 的当前级别。

这是一个非等待命令,允许任何后续命令无延迟地执行。

**返回:**报告一个数值。

def main():
    # Print the current level of the VR Rover.
    brain.print(rover.level())

rover.exp()#

rover.exp() 命令报告 VR Rover 在当前级别拥有的经验值 (XP) 数量。

这是一个非等待命令,允许任何后续命令无延迟地执行。

**返回:**报告一个数值。

def main():
    # Print the current amount of XP that the VR Rover has.
    brain.print(rover.exp())

rover.storage_capacity()#

rover.storage_capacity() 命令报告 VR Rover 的承载能力。

这是一个非等待命令,允许任何后续命令无延迟地执行。

**返回:**报告一个数值。

def main():
    # Print the carrying capacity of the VR Rover.
    brain.print(rover.storage_capacity())

rover.under_attack()#

rover.under_attack() 命令报告 VR Rover 是否受到敌人的攻击。

这是一个非等待命令,允许任何后续命令无延迟地执行。

**返回:**报告一个布尔值。

def main():
    # Continuously check the if statement every 5 milliseconds.
    while True:
        wait(5, MSEC)
        # Check if the rover has come under attack.
        if rover.under_attack() = True:
            # Print a message to the Print Console.
            brain.print("The rover is under attack!")

探测车.检测()#

rover.detects(object) 命令报告 VR Rover 是否在其嗅觉范围内检测到敌人或矿物。

参数

描述

目的

要检测的游戏元素:“矿物”或“敌人”。

这是一个非等待命令,允许任何后续命令无延迟地执行。

VR 探测车的探测半径为 800 毫米 (MM)。您可以在游乐场的迷你地图上看到 VR 探测车周围的黄色圆圈。

**返回:**报告一个布尔值。

def main():
    # Continuously check the if statement every 5 milliseconds.
    while True:
        wait(5, MSEC)
        # Check if the rover has detected any minerals.
        if rover.detects(MINERALS) = True:
            # Turn and drive to the closest minerals.
            drivetrain.go_to(MINERALS)
            # Pick up the minerals.
            rover.pickup(MINERALS)

rover.sees()#

rover.sees(object) 命令报告 VR Rover 是否在其视野范围内看到可检测的物体。

参数

描述

目的

要查看的游戏元素:“基地”、“敌人”、“危险”、“矿物”或“障碍物”。

这是一个非等待命令,允许任何后续命令无延迟地执行。

VR 火星车的视野范围是距离火星车 1000 毫米 (mm),在其视野范围内。

VR 探测车的视野为 40 度。这可以在游乐场的迷你地图上看到,VR 探测车前方的灰色半透明锥体表示该视野。

**返回:**报告一个布尔值。

def main():
    # Continuously check the if statement every 5 milliseconds.
    while True:
        wait(5, MSEC)
        # Check if the rover can see any minerals.
        if rover.sees(MINERALS) = True:
            # Turn and drive to the closest minerals.
            drivetrain.go_to(MINERALS)
            # Pick up the minerals.
            rover.pickup(MINERALS)

流动站.角度()#

rover.angle(object) 命令报告 VR Rover 视野范围(1000 毫米)内和视野范围内最近的指定物体的方向(以度为单位)。

参数

描述

目的

报告方向的游戏元素:“基地”、“敌人”或“矿物”。

这是一个非等待命令,允许任何后续命令无延迟地执行。

VR 火星车的视野范围是距离火星车 1000 毫米 (mm),在其视野范围内。

VR 探测车的视野为 40 度。这可以在游乐场的迷你地图上看到,VR 探测车前方的灰色半透明锥体表示该视野。

**返回:**报告一个数值。

def main():
    # Print the direction in degrees of the closest minerals.
    brain.print(rover.angle(MINERALS))

rover.获取距离()#

rover.get_distance(object, unit) 命令报告 VR Rover 与其视野范围内的矿物、敌人、障碍物、危险或基地之间的距离。

参数

描述

目的

游戏元素报告与 VR Rover 的距离:“基地”、“敌人”、“危险”、“矿物”或“障碍物”。

单位

报告距离的单位为:毫米(“MM”)或“英寸”。

这是一个非等待命令,允许任何后续命令无延迟地执行。

VR 火星车的视野范围是距离火星车 1000 毫米 (mm),在其视野范围内。

VR 探测车的视野为 40 度。这可以在游乐场的迷你地图上看到,VR 探测车前方的灰色半透明锥体表示该视野。

如果将“BASE”作为“object”参数传递,则 VR Rover 将始终报告距离,即使 Base 不在视野中。

如果将“OBSTACLE”或“HAZARD”作为“object”参数传递,但视野内没有障碍物或危险,则“rover.get_distance()”命令将返回“1000”毫米或“39.37”英寸。

**返回:**报告一个数值。

def main():
    # Print the distance between the VR Rover and the base.
    brain.print(rover.get_distance(BASE))

流动站.位置()#

如果矿物、敌人、障碍物、危险或基地在其视野范围内,则 rover.location(object, axis, units) 命令会报告其 X 或 Y 坐标位置。

参数

描述

目的

游戏元素报告以下位置:“基地”、“敌人”、“危险”、“矿物”、“障碍物”、“流动站”。

返回值的轴:“X”或“Y”。

单位

报告距离的单位为:毫米(“MM”)或“英寸”。

这是一个非等待命令,允许任何后续命令无延迟地执行。

如果将“BASE”作为“object”参数传递,则 VR Rover 将始终报告位置,即使 Base 不在视野中。

**返回:**报告一个数值。

def main():
    # Print the current location of the VR Rover on the Y axis in millimeters.
    brain.print(rover.location(ROVER, Y, MM))

rover.enemy_level()#

rover.enemy_level() 命令报告在 VR Rover 视野中检测到的最近敌人的级别。

这是一个非等待命令,允许任何后续命令无延迟地执行。

VR 探测车的探测半径为 800 毫米 (MM)。您可以在游乐场的迷你地图上看到 VR 探测车周围的黄色圆圈。

如果没有检测到敌人,rover.enemy_level() 将返回 0

**返回:**报告一个数值。

def main():
    # Print the level of the closest detected enemy.
    brain.print(rover.enemy_level())

rover.enemy_radiation()#

rover.enemy_radiation() 命令报告在 VR Rover 视野中检测到的最近敌人的辐射。

这是一个非等待命令,允许任何后续命令无延迟地执行。

VR 探测车的探测半径为 800 毫米 (MM)。您可以在游乐场的迷你地图上看到 VR 探测车周围的黄色圆圈。

如果没有检测到敌人,rover.enemy_radiation() 将返回 0

**返回:**报告一个数值。

def main():
    # Print the radiation of the closest detected enemy.
    brain.print(rover.enemy_radiation())