机器人专用 Python#
VR Rover 可以访问标准 VR 传动系统、事件、控制、变量和功能命令。
传动系统#
传动系统.drive_to()#
drivetrain.drive_to(object, wait)
命令用于驱动 VR Rover 行驶至指定物体之间的距离。
这可以是非等待或等待命令,取决于是否使用了“wait”参数。
参数 |
描述 |
---|---|
目的 |
VR 探测车将驶向的物体:“基地”、“敌人”或“矿产”。 |
等待 |
可选。 wait 参数决定命令是否阻止后续命令( |
如果在调用“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 参数决定命令是否阻止后续命令( |
如果在调用“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 参数决定命令是否阻止后续命令( |
如果在调用“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())