public Profile() { var jsonStr = File.ReadAllText("./config.json"); var profile = JsonSerializer.Deserialize <Dictionary <string, string> >(jsonStr); var count = profile.Count; G.tetriminosCount = new uint[count]; G.tetriminosName = new string[count]; G.tetriminosGraph = new string[count]; G.tetriminos = new List <Tetrimino> [count]; var id = 0; foreach (var item in profile) { G.tetriminosName[id] = item.Key; G.tetriminos[id] = new List <Tetrimino> { Tetrimino.FromString(item.Value) }; G.tetriminosGraph[id] = GenerateGraph(G.tetriminos[id][0]); id++; } }
string GenerateGraph(Tetrimino s) { var screen = new bool[s.col, s.row]; var graph = new StringBuilder("\n"); for (var i = 0; i < s.x.Length; i++) { screen[s.x[i] - 1, s.y[i] - 1] = true; } var indent = new string(' ', (int)(24 - s.col)); for (var j = 0; j < s.row; j++) { graph.Append(indent); for (var i = 0; i < s.col; i++) { graph.Append(screen[i, j] ? dot : blank); } graph.Append("\n"); } graph.Append("\n"); return(graph.ToString()); }