Files
SirRoboGarage/ModularBot_garage/tests/test_gun_diversity.nim
SirStone 254c7dc997 feat(ModularBot): pluggable bot with 4 guns, phantom meteor movement, radar harness
- 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
2026-09-20 00:37:10 +02:00

25 lines
1015 B
Nim

import std/os
import std/strutils
import test_framework/test_framework
if not existsEnv("TR_SERVER_JAR") or not existsEnv("TR_BATTLE_RUNNER"):
echo "Skipping: TR_SERVER_JAR / TR_BATTLE_RUNNER not set"
quit(0)
let modularBotDir = "/home/davide/Projects/SirRoboGarage/ModularBot_garage"
let sampleBotsDir = "/home/davide/Downloads/robocode-tankroyale/sample-bots-nim-linux-1.0.7"
echo "\n=== BATTLE 1: ModularBot vs SpinBot (Circular Movement) ==="
let r1 = runBattle(@[modularBotDir, sampleBotsDir / "SpinBot"], rounds = 10)
echo "\nBattle 1 Results:"
for bot in r1.results:
echo " " & bot.name & ": score=" & $bot.totalScore & " rank=" & $bot.rank
echo "Winners: " & r1.winners.join(", ")
echo "\n=== BATTLE 2: ModularBot vs Crazy (Unpredictable Movement) ==="
let r2 = runBattle(@[modularBotDir, sampleBotsDir / "Crazy"], rounds = 10)
echo "\nBattle 2 Results:"
for bot in r2.results:
echo " " & bot.name & ": score=" & $bot.totalScore & " rank=" & $bot.rank
echo "Winners: " & r2.winners.join(", ")