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/common_libs/test_framework/adversaries/WaveSurfer" randomMover = "/home/davide/Projects/SirRoboGarage/common_libs/test_framework/adversaries/RandomMover" 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("WaveSurfer", waveSurfer) battle("Crazy", crazy) battle("RandomMover", randomMover)