public void CheckRecords(int Po) { StreamReader sr = File.OpenText("Records.txt"); string input = null; ArrayList records = new ArrayList(); while ((input = sr.ReadLine()) != null) { ClassResult CR = new ClassResult(ClassMoving.ToWords(input, 2)[0], Convert.ToInt32(ClassMoving.ToWords(input, 2)[1])); records.Add(CR); } sr.Close(); records.Sort(ClassResult.SortByPoint); // самый младший рекорд в таблице ClassResult Cr = (ClassResult)records[0]; // если его удалось победить if (Po > Cr.ResPoint) { //MessageBox.Show("Ваш результат - это новый рекорд!"); Fr.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Fr_FormClosing); Fr.tbName.Focus(); Fr.ShowDialog(); FileInfo fi = new FileInfo("Records.txt"); StreamWriter writer; // если результат влезает в десятку if (records.Count < 10) { records.Add(new ClassResult(UserName, Po)); // и дописать файл новым рекордом writer = fi.AppendText(); writer.WriteLine(UserName + " " + Po.ToString()); writer.Close(); } // иначе - удалить последнего else //if (Po > Cr.ResPoint) { records.Remove(records[0]); records.Add(new ClassResult(UserName, Po)); // и дописать файл новым рекордом writer = fi.CreateText(); for (int i = 0; i < records.Count; i++) { Cr = (ClassResult)records[i]; writer.WriteLine(Cr.ResName + " " + Cr.ResPoint.ToString()); } writer.Close(); } } }
private void FormArkanoid_Load(object sender, EventArgs e) { // создание мячика и ракетки (и отрисовка на панели) Ball = new ClassBall(panel1); Ball.BallLost += new ClassBall.BallLost_event(Ball_BallLost); Racket = new ClassRacket(panel1); timerArkanoid.Interval = 1; Moving = new ClassMoving(Ball, Racket, panel1.Size); Moving.BallCrossing += new ClassMoving.BallCrossing_event(Moving_BallCrossing); Moving.ToNextLevel += new ClassMoving.ToNextLevel_event(Moving_ToNextLevel); Moving.NoLevels += new ClassMoving.NoLevels_event(Moving_NoLevels); // Новая игра: загрузка карты уровня - случайно NewGame("Случайно"); }
private void FormTableRecs_Load(object sender, EventArgs e) { StreamReader sr = File.OpenText("Records.txt"); string input = null; System.Collections.ArrayList records = new System.Collections.ArrayList(); while ((input = sr.ReadLine()) != null) { ClassResult CR = new ClassResult(ClassMoving.ToWords(input, 2)[0], Convert.ToInt32(ClassMoving.ToWords(input, 2)[1])); records.Add(CR); } sr.Close(); records.Sort(ClassResult.SortByPoint); records.Reverse(); for (int i = 0; i < records.Count; i++) { ClassResult CR = (ClassResult)records[i]; dgRecords.Rows.Add(CR.ResName, CR.ResPoint); } }