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:
@@ -0,0 +1,30 @@
|
||||
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"
|
||||
sittingDuck = tfAdversaries / "SittingDuck"
|
||||
|
||||
# Skip if JARs are missing
|
||||
if not fileExists("/home/davide/Projects/tank-royale/server/build/libs/robocode-tankroyale-server-0.35.5-all.jar") or
|
||||
not fileExists("/home/davide/Projects/tank-royale/runner/examples/lib/robocode-tankroyale-runner.jar"):
|
||||
echo "Skipping: Tank Royale JARs not found"
|
||||
quit(0)
|
||||
|
||||
echo "ModularBot vs SittingDuck — 3 rounds, maxSpeed"
|
||||
echo ""
|
||||
|
||||
let r = runBattle(@[modularBotDir, sittingDuck], rounds = 1, timeout = 180000, maxSpeed = true)
|
||||
|
||||
echo ""
|
||||
echo "=== Battle Result ==="
|
||||
echo "Rounds: ", r.rounds.len
|
||||
echo "Bots: ", r.bots
|
||||
echo ""
|
||||
echo "Final standings:"
|
||||
for result in r.results:
|
||||
echo " ", result.name, ": rank=", result.rank, " score=", result.totalScore,
|
||||
" survived=", result.survivalCount, " first=", result.firstPlaces
|
||||
echo ""
|
||||
echo "Winners: ", r.winners
|
||||
Reference in New Issue
Block a user