40 lines
2.0 KiB
Bash
40 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# 换算率标定批·全量采集脚本(2026-09-23)
|
|
# 10 次采集顺序执行:7 个 OFAT 注入档直入口(n=100×双画像×两层,同 seed0 配对)
|
|
# + 3 个花费序战役(k=60×双画像)。产物 = production/qa/conversion-calibration/ 下
|
|
# 各档 .log/.vjson + 合并 calibration.raw.jsonl(判定端 --from-raw 消费)。
|
|
set -u
|
|
GODOT=/d/code/godot/Godot_v4.7.2-stable_win64_console.exe
|
|
SLICE=/d/code/g-plan2-conversion-calibration/game
|
|
QA=/d/code/g-plan2-conversion-calibration/production/qa/conversion-calibration
|
|
mkdir -p "$QA"
|
|
cd "$SLICE" || exit 1
|
|
|
|
run() {
|
|
local name=$1; shift
|
|
local t0=$(date +%s)
|
|
"$GODOT" --headless --path . --script res://smoke/verifier_batch.gd -- "$@" > "$QA/$name.log" 2>&1
|
|
local rc=$?
|
|
grep '^VJSON ' "$QA/$name.log" > "$QA/$name.vjson"
|
|
local rows=$(wc -l < "$QA/$name.vjson")
|
|
local errs=$(grep -cE 'SCRIPT ERROR|Parse Error' "$QA/$name.log")
|
|
echo "[$(date +%H:%M:%S)] done $name rc=$rc rows=$rows errs=$errs $(( $(date +%s) - t0 ))s"
|
|
}
|
|
|
|
echo "=== 换算率标定采集开跑 $(date +%F' '%H:%M:%S) ==="
|
|
run base n=100 levels=1,2 only=level seed0=8000
|
|
run hp3 n=100 levels=1,2 only=level seed0=8000 inject=max_hp:3
|
|
run hp6 n=100 levels=1,2 only=level seed0=8000 inject=max_hp:6
|
|
run atk1 n=100 levels=1,2 only=level seed0=8000 inject=atk:1
|
|
run atk2 n=100 levels=1,2 only=level seed0=8000 inject=atk:2
|
|
run ac1 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:1
|
|
run ac2 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:2
|
|
run camp_hp k=60 only=campaign seed0=8000 spend=hp_first
|
|
run camp_atk k=60 only=campaign seed0=8000 spend=atk_first
|
|
run camp_ac k=60 only=campaign seed0=8000 spend=armor_first
|
|
|
|
cat "$QA"/base.vjson "$QA"/hp3.vjson "$QA"/hp6.vjson "$QA"/atk1.vjson "$QA"/atk2.vjson \
|
|
"$QA"/ac1.vjson "$QA"/ac2.vjson "$QA"/camp_hp.vjson "$QA"/camp_atk.vjson "$QA"/camp_ac.vjson \
|
|
| sed 's/^VJSON //' > "$QA/calibration.raw.jsonl"
|
|
echo "=== 合并完成:$(wc -l < "$QA/calibration.raw.jsonl") 局 → $QA/calibration.raw.jsonl ==="
|