public string GetHumanReadableGameLog(int gameNumber)
{
// swap order every game if needed
int[] playedPositions = this.GetPlayerOrderForGameNumber(gameNumber);
var stringWriter = new System.IO.StringWriter();
var textWriter = new IndentedTextWriter(stringWriter);
var readableLog = new HumanReadableGameLog(textWriter);
var gainSequenceLog = new GainSequenceGameLog(textWriter);
Random random = new Random(gameNumber);
using (Game game = new Game(random, gameConfig, new GameLogMultiplexer(readableLog, gainSequenceLog)))
{
GameState gameState = new GameState(
playerActions,
playedPositions,
game);
gameState.PlayGameToEnd();
}
return stringWriter.ToString();
}