Esempio n. 1
0
        private void ClearGames()
        {
            ConsoleUtility.WriteLineAsHeading("Clear Games");

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Clearing list of games...");
            Games = new List <Game>();
            ConsoleUtility.WriteLine("Complete");

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Reseting player ratings");
            UpdatePlayerRatingsCore();
            ConsoleUtility.WriteLine("Complete");

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Updating collection of games in spreadsheet...");
            ChessScoreboardAPI.UpdateGamesInSpreadsheet(Games);
            ConsoleUtility.WriteLine("Complete");

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Updating collection of players in spreadsheet...");
            ChessScoreboardAPI.UpdateRatingsInSpreadsheet(Players);
            ConsoleUtility.WriteLine("Complete");

            Clear();
        }
 public ChessScoreboardInterface()
 {
     RemainOpen         = true;
     Games              = new List <Game>();
     Players            = new List <Player>();
     ChessScoreboardAPI = new ChessScoreboardAPI();
 }
Esempio n. 3
0
        private void AddPlayer()
        {
            ConsoleUtility.WriteLineAsHeading("Add Player");

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("What is the name of the player you would like to add?");

            string playerName = ConsoleUtility.ReadLine();

            var player = new Player(Players.Max(p => p.CurrentRank) + 1, Constants.BaseRating, playerName);

            Players.Add(player);

            ChessScoreboardAPI.UpdatePlayersInSpreadsheet(Players);

            Clear();
            ViewPlayers();
        }
Esempio n. 4
0
        private void UpdatePlayerRatings()
        {
            ConsoleUtility.WriteLineAsHeading("Update Player Ratings");

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Updating Player Ratings...");

            UpdatePlayerRatingsCore();

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Updating the Spreadsheet with the new Player Ratings...");
            ChessScoreboardAPI.UpdateRatingsInSpreadsheet(Players);

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Update Complete");

            Clear();
            ViewPlayers();
        }
Esempio n. 5
0
        private void AddGame()
        {
            ConsoleUtility.WriteLineAsHeading("Add Game");

            var game = new Game();

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Was the game a stalemate?");
            game.WasAStalemate = ConsoleUtility.ReadYesNoAnswer();

            ConsoleUtility.WriteHyphenLine();
            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Avaiable Players");
            ConsoleUtility.WriteHyphenLine("Avaiable Players");

            foreach (Player player in Players)
            {
                ConsoleUtility.WriteLine($"{player.CurrentRank}. {player.FirstName}");
            }

            ConsoleUtility.WriteHyphenLine();

            int winnerNumber, loserNumber;

            if (game.WasAStalemate)
            {
                ConsoleUtility.WriteLine();
                ConsoleUtility.WriteLine("In the above list, what number was player one?");
                winnerNumber = ConsoleUtility.ReadInt();

                ConsoleUtility.WriteLine();
                ConsoleUtility.WriteLine("In the above list, what number was player two?");
                loserNumber = ConsoleUtility.ReadInt();
            }
            else
            {
                ConsoleUtility.WriteLine();
                ConsoleUtility.WriteLine("In the above list, what number was the winner?");
                winnerNumber = ConsoleUtility.ReadInt();

                ConsoleUtility.WriteLine();
                ConsoleUtility.WriteLine("In the above list, what number was the loser?");
                loserNumber = ConsoleUtility.ReadInt();
            }

            Player winner, loser;

            winner = Players.FirstOrDefault(player => player.CurrentRank == winnerNumber);
            loser  = Players.FirstOrDefault(player => player.CurrentRank == loserNumber);

            while (winner == null || loser == null)
            {
                Clear();

                ConsoleUtility.WriteHyphenLine();
                ConsoleUtility.WriteLine("Unable to find one or both of the players for the numbers specified. If you do not see a player in the list please add one using the add player action");
                ConsoleUtility.WriteLine("Try again?");
                bool tryAgain = ConsoleUtility.ReadYesNoAnswer();

                if (tryAgain)
                {
                    if (game.WasAStalemate)
                    {
                        ConsoleUtility.WriteLine();
                        ConsoleUtility.WriteLine("In the above list, what number was player one?");
                        winnerNumber = ConsoleUtility.ReadInt();

                        ConsoleUtility.WriteLine();
                        ConsoleUtility.WriteLine("In the above list, what number was player two?");
                        loserNumber = ConsoleUtility.ReadInt();
                    }
                    else
                    {
                        ConsoleUtility.WriteLine();
                        ConsoleUtility.WriteLine("In the above list, what number was the winner?");
                        winnerNumber = ConsoleUtility.ReadInt();

                        ConsoleUtility.WriteLine();
                        ConsoleUtility.WriteLine("In the above list, what number was the loser?");
                        loserNumber = ConsoleUtility.ReadInt();
                    }

                    winner = Players.FirstOrDefault(player => player.CurrentRank == winnerNumber);
                    loser  = Players.FirstOrDefault(player => player.CurrentRank == loserNumber);
                }
                else
                {
                    Clear();
                    return;
                }
            }

            game.Winner = winner;
            game.Loser  = loser;

            Games.Add(game);

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Updating ratings based on added game...");
            UpdatePlayerRatingsCore();
            ConsoleUtility.WriteLine("Complete");

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Updating collection of games in spreadsheet...");
            ChessScoreboardAPI.UpdateGamesInSpreadsheet(Games);
            ConsoleUtility.WriteLine("Complete");

            ConsoleUtility.WriteLine();
            ConsoleUtility.WriteLine("Updating collection of players in spreadsheet...");
            ChessScoreboardAPI.UpdateRatingsInSpreadsheet(Players);
            ConsoleUtility.WriteLine("Complete");

            Clear();
        }