254c7dc997
- Gun harness: virtual bullet tracker, rolling fitness, auto-selector - Guns: head-on, linear (extrapolation), circular (integrated formula), tsetlin machine (learning) - Movement: phantom meteor gravity engine (danger histograms, phantom bullets, fire detection) - Radar: harness + radar_lock adapter - Color-coded modules: turret/bullet color per gun, body per movement, scan per radar - Beats Target, SpinBot, Crazy, TrackFire in 10-round battles
19 lines
612 B
Nim
19 lines
612 B
Nim
## RadarLock adapter — wraps radar_lock.doRadar() as a RadarModule.
|
|
|
|
import std/math
|
|
import ../radar_harness/radar_interface
|
|
import ../radar_lock/radar_lock as radar_lock_impl
|
|
|
|
export radar_interface
|
|
|
|
type RadarLockModule* = object
|
|
|
|
proc computeScan*(m: RadarLockModule, state: WorldState): float =
|
|
## Returns radar turn rate (deg/tick) to lock onto enemy.
|
|
let enemyBearing = arctan2(state.enemyY - state.selfY,
|
|
state.enemyX - state.selfX).radToDeg
|
|
radar_lock_impl.doRadar(state.selfRadarHeading, enemyBearing)
|
|
|
|
proc init*(m: var RadarLockModule) =
|
|
radar_lock_impl.init()
|