public Score(GameSettings.DifficultyLevels level, string name, int result) { Level = level; Name = name; Result = result; Date = DateTime.Now; }
public void NewGame(GameSettings.DifficultyLevels level, int width, int height, int minesTotal) { _settings = new GameSettings(level, width, height, minesTotal); _field = new Field(_settings); _view.FieldHeight = _field.Height; _view.FieldWidth = _field.Width; _view.MinesTotal = _field.MinesCount; _view.MinesLeft = _field.MinesCount; _view.NewGame(); }
public void NewGame(GameSettings.DifficultyLevels level = GameSettings.DifficultyLevels.Current) { if (level != GameSettings.DifficultyLevels.Current) { _settings = new GameSettings(level); } _field = new Field(_settings); _view.FieldHeight = _field.Height; _view.FieldWidth = _field.Width; _view.MinesTotal = _field.MinesCount; _view.MinesLeft = _field.MinesCount; _view.NewGame(); }
public bool CheckResult(GameSettings.DifficultyLevels level, int time) { var levelScores = _highscores .Where(x => x.Level == level) .OrderByDescending(x => x.Result) .ToList(); if (levelScores.Count < TopResultsCount) { return(true); } var maxScore = levelScores.First(); return(time < maxScore.Result); }
public void AddResult(GameSettings.DifficultyLevels level, string name, int time) { var newScore = new Score(level, name, time); var scoreToRemove = _highscores .Where(x => x.Level == level) .OrderBy(x => x.Result) .Skip(TopResultsCount - 1) .ToList(); if (scoreToRemove.Any()) { _highscores.Remove(scoreToRemove.First()); } _highscores.Add(newScore); }