1ed7797cb6
- 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
18 lines
616 B
Nim
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
|