Files
SirRoboGarage/common_libs/radars/melee_scan.nim
T
SirStone 1ed7797cb6 feat(ModularBot): 6 guns, pattern matcher, melee modules, adversarial bots
- New guns: guess-factor (GF histogram), pattern-matcher (movement tape replay)
- New modules: minimum-risk melee movement, spinning melee radar
- New test bots: PatternMover, RandomMover, WaveSurfer
- Fixed: FeedbackEvent now carries actualX/actualY for proper GF learning
- Fixed: TM gun warmup gating + directional residuals
- Fixed: circular gun integrated formula + multi-bin omega cache
- Fixed: oscillator wall-bounce lockout
- Fixed: phantom meteor perpendicular body orientation
- 6/6 battle wins across all enemy types
2026-09-20 00:59:53 +02:00

18 lines
616 B
Nim

## melee_scan.nim — Continuously spinning radar for melee.
## Always returns max radar turn rate so all enemies get scanned periodically.
## No state needed; stateless spin guarantees coverage regardless of enemy count.
import ../radar_harness/radar_interface
export radar_interface
const MaxRadarTurnRate* = 45.0 ## deg/tick — Tank Royale hard limit
type MeleeScanModule* = object
proc initMeleeScan*(): MeleeScanModule = MeleeScanModule()
proc computeScan*(m: MeleeScanModule, state: WorldState): float =
## Always spin at max rate — guarantees full arena coverage every 8 ticks.
MaxRadarTurnRate