j124 spinner claim: add ConstantSpinner adversary + spinner A/B arms, panel, analyzer
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
# make_variant.sh — generate a spin-rate preset of the ConstantSpinner adversary.
|
||||
#
|
||||
# make_variant.sh <NAME> <TURN_RATE_DEG_PER_TICK> <SPEED> [OUTDIR]
|
||||
#
|
||||
# e.g.
|
||||
# make_variant.sh ConstantSpinner_s3 3 5 /tmp/tr_spinners
|
||||
# make_variant.sh ConstantSpinner_s6 6 5 /tmp/tr_spinners
|
||||
#
|
||||
# The variant dir is a normal Tank Royale bot directory named <NAME>: the runner
|
||||
# matches the connecting bot's identity against <OUTDIR>/<NAME>/<NAME>.json, so
|
||||
# the launcher exports BOT_JSON to make the binary handshake under <NAME>.
|
||||
#
|
||||
# The single committed ConstantSpinner binary is reused (no per-variant build);
|
||||
# only SPIN_TURN_RATE / SPIN_SPEED differ.
|
||||
set -euo pipefail
|
||||
|
||||
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
BIN="$HERE/out/ConstantSpinner"
|
||||
|
||||
NAME="${1:?usage: make_variant.sh <NAME> <TURN_RATE> <SPEED> [OUTDIR]}"
|
||||
TURN="${2:?usage: make_variant.sh <NAME> <TURN_RATE> <SPEED> [OUTDIR]}"
|
||||
SPEED="${3:?usage: make_variant.sh <NAME> <TURN_RATE> <SPEED> [OUTDIR]}"
|
||||
OUTDIR="${4:-/tmp/tr_spinners}"
|
||||
|
||||
[[ -x "$BIN" ]] || { echo "ERROR: build first: nim c -d:release src/ConstantSpinner.nim" >&2; exit 1; }
|
||||
|
||||
DIR="$OUTDIR/$NAME"
|
||||
mkdir -p "$DIR"
|
||||
|
||||
cat > "$DIR/$NAME.json" <<JSON
|
||||
{
|
||||
"name": "$NAME",
|
||||
"version": "0.1.0",
|
||||
"authors": ["Davide Cappellini"],
|
||||
"description": "ConstantSpinner preset: constant turn ${TURN} deg/tick at speed ${SPEED}",
|
||||
"homepage": "",
|
||||
"countryCodes": ["IT"],
|
||||
"gameTypes": ["classic", "1v1"],
|
||||
"platform": "Nim",
|
||||
"programmingLang": "Nim"
|
||||
}
|
||||
JSON
|
||||
|
||||
cat > "$DIR/$NAME.sh" <<SH
|
||||
#!/bin/sh
|
||||
cd "\$(dirname "\$0")"
|
||||
export BOT_JSON="$DIR/$NAME.json"
|
||||
export SPIN_TURN_RATE="$TURN"
|
||||
export SPIN_SPEED="$SPEED"
|
||||
exec "$BIN" 2>> /tmp/constantspinner_stderr.log
|
||||
SH
|
||||
chmod +x "$DIR/$NAME.sh"
|
||||
|
||||
echo "generated $DIR (turn=$TURN deg/tick, speed=$SPEED)"
|
||||
Reference in New Issue
Block a user