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>();
 }
Esempio n. 3
0
 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);
            }
        }
Esempio n. 5
0
        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;
        }