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
This commit is contained in:
2026-09-20 00:59:53 +02:00
parent 254c7dc997
commit 1ed7797cb6
184 changed files with 80149 additions and 21 deletions
+17
View File
@@ -0,0 +1,17 @@
import std/os
import common_libs/test_framework/test_framework
const
modularBotDir = "/home/davide/Projects/SirRoboGarage/ModularBot_garage"
tfAdversaries = "/home/davide/Projects/SirRoboGarage/common_libs/test_framework/adversaries"
oscillator = tfAdversaries / "OscillatorBot"
if not fileExists("/home/davide/Projects/tank-royale/server/build/libs/robocode-tankroyale-server-0.35.5-all.jar"):
echo "Skipping: Tank Royale JAR not found"
quit(0)
echo "ModularBot vs OscillatorBot — 1 round, maxSpeed"
let r = runBattle(@[modularBotDir, oscillator], rounds = 1, timeout = 180000, maxSpeed = true)
echo "Final standings:"
for result in r.results:
echo " ", result.name, ": score=", result.totalScore