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
21 lines
587 B
Nim
21 lines
587 B
Nim
## Movement harness — shared types and MovementModule concept.
|
|
## Mirrors gun_interface.nim structure.
|
|
|
|
import gun_harness/gun_interface
|
|
|
|
export gun_interface.WorldState
|
|
|
|
type
|
|
MoveCommand* = tuple[speed: float, turnRate: float]
|
|
## speed: target speed in px/tick, clamped to ±8 by bot API
|
|
## turnRate: body turn rate in degrees/tick
|
|
|
|
## MovementModule concept — any type T implementing computeMove is valid.
|
|
template isMovementModule*(T: typedesc): bool =
|
|
compiles(
|
|
block:
|
|
var m: T
|
|
let ws = WorldState()
|
|
let cmd: MoveCommand = m.computeMove(ws)
|
|
)
|