diff --git a/ModularBot_garage/ModularBot b/ModularBot_garage/ModularBot index 0223372..170ac0c 100755 Binary files a/ModularBot_garage/ModularBot and b/ModularBot_garage/ModularBot differ diff --git a/common_libs/gun_harness/virtual_bullets.nim b/common_libs/gun_harness/virtual_bullets.nim index ce8e73d..1ce8f34 100644 --- a/common_libs/gun_harness/virtual_bullets.nim +++ b/common_libs/gun_harness/virtual_bullets.nim @@ -9,7 +9,7 @@ import gun_interface const PowerBins* = [1.0, 1.5, 2.0, 3.0] ## 4 bins; ponytail: fixed array, add runtime config if needed WindowSize* = 50 ## rolling window ticks for fitness - MaxBullets* = 512 ## hard cap; ponytail: ring buffer, resize if more guns added + MaxBullets* = 2048 ## hard cap; ponytail: ring buffer, resize if more guns added MinHitRate* = 0.40 ## 40% threshold for acceptable power selection type diff --git a/test_displacement_battles b/test_displacement_battles new file mode 100755 index 0000000..857f835 Binary files /dev/null and b/test_displacement_battles differ diff --git a/test_displacement_battles.nim b/test_displacement_battles.nim new file mode 100644 index 0000000..0b0be57 --- /dev/null +++ b/test_displacement_battles.nim @@ -0,0 +1,27 @@ +import std/[os, strformat] +import common_libs/test_framework/test_framework + +const + modularBotDir = "/home/davide/Projects/SirRoboGarage/ModularBot_garage" + samplesDir = "/home/davide/Downloads/robocode-tankroyale/sample-bots-nim-linux-1.0.7" + crazy = samplesDir / "Crazy" + waveSurfer = "/home/davide/Projects/SirRoboGarage/WaveSurfer_garage" + patternMover = "/home/davide/Projects/SirRoboGarage/PatternMover_garage" + +const serverJar = "/home/davide/Projects/tank-royale/server/build/libs/robocode-tankroyale-server-0.35.5-all.jar" +const runnerJar = "/home/davide/Projects/tank-royale/runner/examples/lib/robocode-tankroyale-runner.jar" + +if not fileExists(serverJar) or not fileExists(runnerJar): + echo "Skipping: Tank Royale JARs not found" + quit(0) + +proc battle(name: string, dir: string) = + echo fmt"--- ModularBot vs {name} (10 rounds) ---" + let r = runBattle(@[modularBotDir, dir], rounds = 10, timeout = 300000, maxSpeed = true) + for result in r.results: + echo fmt" {result.name}: score={result.totalScore} rank={result.rank}" + echo "" + +battle("Crazy", crazy) +battle("WaveSurfer", waveSurfer) +battle("PatternMover", patternMover)