Ejemplo n.º 1
0
        /// <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);
        }