package com.hearthsim.results; import org.json.JSONArray; import org.json.JSONObject; public class GameResultSummary { private final GameResult result_; public GameResultSummary(GameResult result) { result_ = result; } public JSONObject toJSON() { JSONObject json = new JSONObject(); json.put("first_player", result_.firstPlayerIndex_); json.put("winner", result_.winnerPlayerIndex_); json.put("duration", result_.gameDuration_); JSONObject record = new JSONObject(); JSONArray p0 = new JSONArray(); for (int i = 0; i < result_.record_.getRecordLength(0); ++i) { JSONObject tj = new JSONObject(); tj.put("p0_m", result_.record_.getNumMinions(0, i, 0)); tj.put("p1_m", result_.record_.getNumMinions(1, i, 0)); tj.put("p0_c", result_.record_.getNumCardsInHand(0, i, 0)); tj.put("p1_c", result_.record_.getNumCardsInHand(1, i, 0)); tj.put("p0_h", result_.record_.getHeroHealth(0, i, 0)); tj.put("p1_h", result_.record_.getHeroHealth(1, i, 0)); p0.put(tj); } JSONArray p1 = new JSONArray(); for (int i = 0; i < result_.record_.getRecordLength(1); ++i) { JSONObject tj = new JSONObject(); tj.put("p0_m", result_.record_.getNumMinions(0, i, 1)); tj.put("p1_m", result_.record_.getNumMinions(1, i, 1)); tj.put("p0_c", result_.record_.getNumCardsInHand(0, i, 1)); tj.put("p1_c", result_.record_.getNumCardsInHand(1, i, 1)); tj.put("p0_h", result_.record_.getHeroHealth(0, i, 1)); tj.put("p1_h", result_.record_.getHeroHealth(1, i, 1)); p1.put(tj); } record.put("p0", p0); record.put("p1", p1); json.put("record", record); return json; } }