예제 #1
0
        public static void PlaySingleElimination(bool isFromSavedFile, PrintBracket print)
        {
            SingleEliminationTournament tournament;

            if (isFromSavedFile)
            {
                tournament = BinarySaver.LoadSingleFromBinnary();
            }
            else
            {
                int amount       = DataInput.InputAmount();
                var participants = DataInput.InputNames(amount, _maxNameLength);
                tournament = new SingleEliminationTournament(participants);
            }

            List <Participant> nextUpperBracketRound;

            while (!tournament.EndOfTheGame())
            {
                nextUpperBracketRound = tournament.GetBracket();
                Console.Clear();
                Console.WriteLine("----Upper Bracket----");
                print(nextUpperBracketRound);
                tournament.PlayGame(_inputWinner);
            }

            nextUpperBracketRound = tournament.GetBracket();
            Console.Clear();
            Console.WriteLine("----Upper Bracket----");
            print(nextUpperBracketRound);
            Console.ReadLine();
        }
예제 #2
0
        public static void Main(string[] args)
        {
            bool isFromSavedFile = DataInput.IsFromSavedFile();
            EliminationSystem eliminationSystem = EliminationSystem.Single;

            if (isFromSavedFile)
            {
                if (File.Exists(BinarySaver.NameOfSinlgeEliminationFile))
                {
                    eliminationSystem = EliminationSystem.Single;
                }
                else if (File.Exists(BinarySaver.NameOfDoubleEliminationFile))
                {
                    eliminationSystem = EliminationSystem.Double;
                }
            }
            else
            {
                eliminationSystem = DataInput.ChoseEliminationSystem();
            }

            var          bracketStyle = DataInput.ChoseBracket();
            PrintBracket print        = null;

            switch (bracketStyle)
            {
            case BracketStyle.Horizontal:
                print = BracketPrint.PrintHorizontalBracket;
                break;

            case BracketStyle.PlayOff:
                print = BracketPrint.PrintPlayOffBracket;
                break;
            }

            if (eliminationSystem == EliminationSystem.Double)
            {
                PlayDoubleElimination(isFromSavedFile, print);
            }
            else
            {
                PlaySingleElimination(isFromSavedFile, print);
            }
        }