예제 #1
0
        /// <summary>Завершение игры.</summary>
        private void OnGameOver()
        {
            _game.Over();
            GameTimer.Enabled = false;
            RealTimer.Enabled = false;

            // складывание очков за игру в общее количество
            Properties.Settings.Default.UserScore = (int.Parse(Properties.Settings.Default.UserScore) + _game.Score).ToString();

            // слкадывание общего времени в игре
            DateTime AllTime = Properties.Settings.Default.TimeInGame;

            AllTime = AllTime.AddHours(ElapsedTime.Hour);
            AllTime = AllTime.AddMinutes(ElapsedTime.Minute);
            AllTime = AllTime.AddSeconds(ElapsedTime.Second);

            Properties.Settings.Default.TimeInGame = AllTime;

            lbElapsedTime.Text = ElapsedTime.ToString("mm:ss");

            // проверка и установка результата на рекорд
            int record = int.Parse(Properties.Settings.Default.UserRecord);

            if (record < _game.Score)
            {
                Properties.Settings.Default.UserRecord = _game.Score.ToString();
            }

            // увеличение количество сыгранных игр
            Properties.Settings.Default.NumberOfGames++;

            // добавление денег = очки * 0.001 + СЛУЧАЙНОЕ(0, уровень)
            Random r     = new Random();
            double money = _game.Score * 0.001 + r.Next(0, int.Parse(Properties.Settings.Default.Level));

            Properties.Settings.Default.Money += money;

            // сохранение результата
            Properties.Game.Default.GameMoney  = Math.Round(money);
            Properties.Game.Default.CountScore = _game.Score;
            Properties.Game.Default.GameTime   = ElapsedTime;
            Properties.Game.Default.GameLevel  = _game.Level;


            // результат игры
            var          gameResultForm = new GameResultForm();
            DialogResult dialogResult   = gameResultForm.ShowDialog();

            switch (dialogResult)
            {
            case DialogResult.OK: NewGame(); break;

            case DialogResult.Cancel: Close(); break;
            }

            //DialogResult dialogResult = MessageBox.Show("Начать новую игру?", "Конец игры", MessageBoxButtons.YesNo);
            //switch (dialogResult)
            //{
            //	case DialogResult.Yes: NewGame(); break;
            //	case DialogResult.No: Close(); break;
            //}


            // Сохранение

            //TetrisSave test = new TetrisSave("---", Game.Score, DateTime.Now - Game.GameStarted);

            //if (Saver.HighScores.CanAdd(test) || Saver.HighTimes.CanAdd(test))
            //{
            //	NRDialog = new NewRecordDialog();
            //	if (NRDialog.ShowDialog() == DialogResult.OK)
            //	{
            //		test.UserName = NRDialog.UserName;
            //		Saver.Save(test);

            //		RForm = new RecordsForm(test);
            //		if (RForm.ShowDialog() == DialogResult.OK)
            //		{
            //			NewGame();
            //		}
            //	}
            //}
        }