fix: hardcoded 3-element arrays in BatchRunner causing empty stats for 4-player games
This commit is contained in:
1 parent
94bb369866
commit
2b6ccac3ea
3 files changed
+12
-5
No files matched your search
@@ -557,8 +557,13 @@ public class BatchRunner {
|
||||
Map<String, String> lossReasons = new HashMap<>();
|
||||
|
||||
// ── Issue #1: Track last-known life totals from verbose log ──────
|
||||
int[] lastKnownLife = {40, 40, 40}; // Start at Commander default
|
||||
boolean[] lifeTracked = {false, false, false};
|
||||
int numPlayers = decks.size();
|
||||
int[] lastKnownLife = new int[numPlayers];
|
||||
boolean[] lifeTracked = new boolean[numPlayers];
|
||||
for (int i = 0; i < numPlayers; i++) {
|
||||
lastKnownLife[i] = 40; // Commander starting life
|
||||
lifeTracked[i] = false;
|
||||
}
|
||||
Set<Integer> loserSeats = new HashSet<>();
|
||||
|
||||
for (String line : lines) {
|
||||
@@ -1060,7 +1065,8 @@ public class BatchRunner {
|
||||
|
||||
// Track current turn per seat
|
||||
int globalTurn = 0;
|
||||
boolean[] openingHandPhase = {true, true, true}; // before first turn
|
||||
boolean[] openingHandPhase = new boolean[decks.size()];
|
||||
java.util.Arrays.fill(openingHandPhase, true); // before first turn
|
||||
|
||||
for (String rawLine : lines) {
|
||||
String line = rawLine.trim();
|
||||
|
||||
@@ -383,6 +383,7 @@ public class LabCli implements Callable<Integer> {
|
||||
result.metadata.masterSeed = masterSeed;
|
||||
result.metadata.threads = threads;
|
||||
result.metadata.elapsedMs = elapsedMs;
|
||||
result.metadata.podSize = decks.size();
|
||||
result.decks = decks;
|
||||
result.games = games;
|
||||
result.summary = summary;
|
||||
|
||||
@@ -62,11 +62,11 @@ public class JsonExporter {
|
||||
try {
|
||||
BatchResult result = GSON.fromJson(json, BatchResult.class);
|
||||
return result.metadata != null
|
||||
&& result.decks != null && result.decks.size() == 3
|
||||
&& result.decks != null && result.decks.size() >= 3 && result.decks.size() <= 4
|
||||
&& result.games != null
|
||||
&& result.summary != null
|
||||
&& result.metadata.schemaVersion.equals("1.0.0")
|
||||
&& result.metadata.podSize == 3;
|
||||
&& result.metadata.podSize >= 3 && result.metadata.podSize <= 4;
|
||||
} catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user