private void InitNewLeadersList() { string importFilePath = _leaderFilePath.Replace(".ldr", ".txt"); if (File.Exists(importFilePath)) { try { var newLeaderForm = new NewLeaderNameForm(); newLeaderForm.ShowDialog(); if (GetStableHashCode(newLeaderForm.UserName) != -1686706976) { MessageBox.Show("Неправильное имя. Импорт лидеров невозможен. Удалите файл LeaderList.txt или введдите правильное имя после перезапуска программы.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(0); } string[] contentLines = File.ReadAllLines(importFilePath); if (contentLines.Length != 10) { throw new Exception(); } foreach (string contentLine in contentLines) { string[] data = contentLine.Split('\t'); LeadersList.Add(new LeaderInfo(data[0], int.Parse(data[1]), (int)TimeSpan.Parse(data[2]).TotalSeconds)); } } catch { MessageBox.Show("Найденный файл для импорта списка лидеров LeaderList.txt имеет неправильный формат. Удалите его или исправьте и перезапустите программу.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(0); } } else { for (int i = 0; i < 10; i++) { LeadersList.Add(new LeaderInfo("Игрок " + (i + 1), 10, 3600)); } } SaveData(); }
private void finishGameToolStripMenuItem_Click(object sender, EventArgs e) { try { if (sender != null && DialogResult.No == MessageBox.Show("Вы действительно хотите окончить текукщую игру?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { return; } timerGame.Enabled = false; if (_undoStepCnt > 3 || _score <= _leaders.MinScore) { if (DialogResult.Yes == MessageBox.Show("Игра окончена. Ваш результат не попал в десятку лучших. Хотите сыграть ещё раз?", "Вопрос", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { RunNewGame(); } else { exitToolStripMenuItem_Click(null, null); } return; } var newLeaderNameForm = new NewLeaderNameForm(); newLeaderNameForm.ShowDialog(); _leaders.AddNewLeader(newLeaderNameForm.UserName, _score, _timeInSec); lidersToolStripMenuItem_Click(null, null); RunNewGame(); } catch (Exception ex) { MessageBox.Show("Произошла непредвиденная ошибка. Отправьте её разработичку, если сможете :)\r\n" + ex.ToString(), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }