Radar lock: standalone reusable module #39
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#37
What to build
A standalone, bot-agnostic radar lock module at
libs/radar_lock/that any Robocode TankRoyale bot can import. Specialized for 1v1 — keeps the radar locked on a single enemy.API:
init()— sets defaults (adjustRadarForBodyTurn=true,adjustRadarForGunTurn=true)doRadar(currentRadarHeading, enemyBearing, ...) → float— returns theradarTurnRateto keep the enemy in the scan arcThe module handles angle wrapping (359° → 1°), clamps output to ±45°, and adds a small overshoot sweep to maintain lock. It must be called from
onScannedBotfor same-tick reactivity.Includes its own
.nimblefile and test.Acceptance criteria
libs/radar_lock/radar_lock.nimexists withinit()anddoRadar()procslibs/radar_lock/radar_lock.nimbleexistslibs/radar_lock/tests/test_radar_lock.nimpassesBlocked by
None — can start immediately.
Radar lock module complete — 14 tests passing, standalone in libs/radar_lock/. Merged to research/goto-controller.