feat(ModularBot): wave-surf movement + wall-bounce gun, 8 guns total
- Wave-surf movement module (not wired, needs movement selector) - Wall-bounce gun: linear extrapolation with arena wall reflection - 8 guns: head-on, linear, circular, tsetlin, guess-factor, pattern, anti-surfer, wall-bounce - Battle-tested against Walls, SpinBot, WaveSurfer, PatternMover, TrackFire Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import test_framework/test_framework
|
||||
import std/os
|
||||
|
||||
const myBotDir = currentSourcePath().parentDir.parentDir
|
||||
let enemies = @[
|
||||
("/home/davide/Downloads/robocode-tankroyale/sample-bots-nim-linux-1.0.7/Walls", "Walls"),
|
||||
("/home/davide/Downloads/robocode-tankroyale/sample-bots-nim-linux-1.0.7/SpinBot", "SpinBot"),
|
||||
("/home/davide/Projects/SirRoboGarage/WaveSurfer_garage", "WaveSurfer"),
|
||||
("/home/davide/Projects/SirRoboGarage/PatternMover_garage", "PatternMover"),
|
||||
("/home/davide/Downloads/robocode-tankroyale/sample-bots-nim-linux-1.0.7/TrackFire", "TrackFire"),
|
||||
]
|
||||
|
||||
echo "Running ModularBot (8 guns) vs all enemies, 10 rounds each"
|
||||
echo "==========================================================="
|
||||
|
||||
for (enemyPath, enemyName) in enemies:
|
||||
echo "\n--- vs " & enemyName & " ---"
|
||||
let result = runBattle(@[myBotDir, enemyPath], rounds = 10, timeout = 180)
|
||||
|
||||
# Print scores table
|
||||
echo "Round Results:"
|
||||
for r in result.rounds:
|
||||
echo " Round " & $r.round & ":"
|
||||
for br in r.results:
|
||||
echo " " & br.name & ": " & $br.score & " (rank " & $br.rank & ")"
|
||||
|
||||
echo "\n==========================================================="
|
||||
echo "All battles complete."
|
||||
Reference in New Issue
Block a user