public static int compareGSS(GameStateSummary a, GameStateSummary b) { if (a.score == b.score) { return(b.linesCleared.CompareTo(a.linesCleared)); } else { return(b.score.CompareTo(a.score)); } }
protected override void ChildOnEnable() { numCubesShown = 0; startTimeStamp = Time.realtimeSinceStartup; List<GameStateSummary> gss = new List<GameStateSummary>(); for (int i = 0; i < numBlocks; i++) { GameStateSummary summary = new GameStateSummary(fakeString0+level.ToString()+fakeString1); gss.Add(summary); } this.games = gss; cubesMade = new List<GameObject>(); }
public void LoadFromFile() { if (File.Exists(DATABASE)) { string[] data = File.ReadAllLines(DATABASE); foreach (string line in data) { GameStateSummary gs = new GameStateSummary(line); totalGames += 1; totalLines += gs.linesCleared; totalSoftDrop += gs.softDrop; totalGameTime += gs.duration; games.Add(gs); } } }
protected void RefreshText() { int endindex = Mathf.Min(scores.Count, sortedData.Count); for (int i = 0; i < endindex; i++) { GameStateSummary gss = sortedData[i]; scores[i].text = gss.score.ToString("000000"); levels[i].text = gss.startLevel.ToString("00"); lines[i].text = gss.linesCleared.ToString("00"); int ratio = 0; if (gss.tetrisCount > 0) { ratio = Mathf.RoundToInt((gss.tetrisCount * 4) / (float)gss.linesCleared * 100); } ratios[i].text = ratio.ToString("00") + "%"; dates[i].text = gss.startTime.ToString(DateFormat); } }
public void FlushGameState() { if (this.current == null) { return; } GameState gs = this.current; totalGames += 1; totalLines += gs.LinesCleared; totalSoftDrop += gs.softDropTotal; totalGameTime += gs.Duration; GameStateSummary summary = new GameStateSummary(gs); games.Add(summary); //save the summary. if (File.Exists(DATABASE)) { File.Copy(DATABASE, DATABASE + ".bak", true); } File.AppendAllText(DATABASE, summary.ExportToFile() + "\r\n"); this.current = null; }