Arena
Code Editor
API Reference
Movement Functions
â–¶move_forward(speed)
Move tank forward in current direction.
speed: 0-5 (float)
move_forward(3)
move_backward(speed)
Move tank backward in current direction.
speed: 0-5 (float)
move_backward(2)
strafe_left(speed)
Move tank sideways to the left.
speed: 0-5 (float)
strafe_right(speed)
Move tank sideways to the right.
speed: 0-5 (float)
Rotation Functions
â–¶rotate(degrees)
Rotate tank by specified degrees.
degrees: -180 to 180
rotate(45) # Turn right 45°
set_angle(angle)
Set tank to absolute angle.
angle: 0-360 (0=right, 90=down)
set_angle(90) # Face downward
aim_at(x, y)
Rotate tank to face specific coordinates.
x, y: Target position
enemy = get_nearest_enemy()
if enemy:
aim_at(enemy[0], enemy[1])
Combat Functions
â–¶shoot(lead_time)
Shoot in current direction.
lead_time: 0-1 (prediction factor)
shoot(0.5)
shoot_at(x, y)
Aim and shoot at coordinates.
x, y: Target position
shoot_at(400, 300)
Information Functions
â–¶get_position()
Returns: (x, y) tuple
x, y = get_position()
get_angle()
Returns: Current tank angle (0-360)
angle = get_angle()
get_health()
Returns: Current health (0-100)
if get_health() < 30:
# Retreat!
get_arena_size()
Returns: (width, height) tuple
w, h = get_arena_size()
Enemy Detection Functions
â–¶get_nearest_enemy()
Returns: (x, y, distance) or None
enemy = get_nearest_enemy()
if enemy and enemy[2] < 200:
shoot_at(enemy[0], enemy[1])
get_enemies()
Returns: List of all (x, y, distance) tuples
for enemy in get_enemies():
if enemy[2] < 150:
shoot_at(enemy[0], enemy[1])
break
get_enemy_count()
Returns: Number of active enemies
if get_enemy_count() == 0:
# Victory dance!
Utility Functions
â–¶distance_to(x, y)
Calculate distance to coordinates.
Returns: Distance (float)
dist = distance_to(400, 300)
angle_to(x, y)
Calculate angle to coordinates.
Returns: Angle in degrees (0-360)
angle = angle_to(400, 300)
normalize_angle(angle)
Normalize angle to 0-360 range.
Returns: Normalized angle
angle = normalize_angle(450) # Returns 90
Example Strategies
â–¶Basic Hunter:
enemy = get_nearest_enemy()
if enemy:
aim_at(enemy[0], enemy[1])
if enemy[2] < 300:
shoot(0)
move_forward(3)
else:
rotate(5)
move_forward(2)
Evasive Sniper:
enemy = get_nearest_enemy()
if enemy:
if enemy[2] < 150:
move_backward(4)
strafe_left(3)
else:
shoot_at(enemy[0], enemy[1])
move_forward(1)
Circle Strafe:
enemy = get_nearest_enemy()
if enemy:
aim_at(enemy[0], enemy[1])
shoot(0)
strafe_right(4)
move_forward(2)