/// <summary> /// Метод проверяет окончена ли игра /// Method checks whethe game is over /// </summary> /// <returns>True если игра окончена/Returns true if game is over</returns> public bool IsGameEnded() { var predecates = GameoverPredicate.GetInvocationList(); bool result = false; foreach (var p in predecates) { if (((GameLogicsAttributes.GameoverPredicate)p)()) { result = true; } } if (result) { SnakesTable snakesTable = new SnakesTable(); PlayerTable playerTable = new PlayerTable(); foreach (var s in SnakesForLogic.Snakes) { snakesTable.UpdateStatistics(s); if (s.SnakeName.Contains("Player")) { playerTable.AddNewRow(s.SnakeName, GameType, s.Statistics.EatenFood); } } } return(result); }