Example #1
0
        /// <summary>
        /// Run method start and control game logic.
        /// </summary>
        /// <param name="gameBoardManager">Take instance of GameBoardManager from the main method.</param>
        public void Run(GameBoardManager gameBoardManager)
        {
            this.gameBoardManager = gameBoardManager;
            bool        isCoordinates;
            bool        isCommand;
            Coordinates coordinates = new Coordinates();
            Command     command     = new Command();

            //TopScore topScore = new TopScore();
            TopScore.Instance.OpenTopScoreList();


            while (this.gameBoardManager.RemainingBaloons > 0)
            {
                Console.Write("Enter a row and column: ");
                string consoleInput = Console.ReadLine();

                isCoordinates = Coordinates.TryParse(consoleInput, ref coordinates);
                isCommand     = Command.TryParse(consoleInput, ref command);

                if (isCoordinates)
                {
                    try
                    {
                        this.gameBoardManager.ShootBaloons(coordinates);
                    }
                    catch (PopedBallonException exp)
                    {
                        Console.WriteLine(exp.Message);
                    }

                    this.gameBoardManager.PrintGameBoard();
                }
                else if (isCommand)
                {
                    switch (command.Value)
                    {
                    case CommandTypes.Top:
                        TopScore.Instance.PrintScoreList();
                        break;

                    case CommandTypes.Restart:
                        this.gameBoardManager.GenerateNewGameBoard();
                        this.gameBoardManager.PrintGameBoard();
                        break;

                    case CommandTypes.Exit:
                        return;
                    }
                }
                else
                {
                    Console.WriteLine("The input isn't in correct format!");
                }
            }

            this.CheckTopScore();
        }
Example #2
0
        /// <summary>
        /// Run method start and control game logic.
        /// </summary>
        /// <param name="gameBoardManager">Take instance of GameBoardManager from the main method.</param>
        public void Run(GameBoardManager gameBoardManager)
        {
            this.gameBoardManager = gameBoardManager;
            bool isCoordinates;
            bool isCommand;
            Coordinates coordinates = new Coordinates();
            Command command = new Command();
            //TopScore topScore = new TopScore();
            TopScore.Instance.OpenTopScoreList();
            

            while (this.gameBoardManager.RemainingBaloons > 0)
            {
                Console.Write("Enter a row and column: ");
                string consoleInput = Console.ReadLine();

                isCoordinates = Coordinates.TryParse(consoleInput, ref coordinates);
                isCommand = Command.TryParse(consoleInput, ref command);

                if (isCoordinates)
                {
                    try
                    {
                        this.gameBoardManager.ShootBaloons(coordinates);
                    }
                    catch (PopedBallonException exp)
                    {
                        Console.WriteLine(exp.Message);
                    }

                    this.gameBoardManager.PrintGameBoard();
                }
                else if (isCommand)
                {
                    switch (command.Value)
                    {
                        case CommandTypes.Top:
                            TopScore.Instance.PrintScoreList();
                            break;
                        case CommandTypes.Restart:
                            this.gameBoardManager.GenerateNewGameBoard();
                            this.gameBoardManager.PrintGameBoard();
                            break;
                        case CommandTypes.Exit:
                            return;
                    }
                }
                else
                {
                    Console.WriteLine("The input isn't in correct format!");
                }
            }

            this.CheckTopScore();
        }
Example #3
0
        /// <summary>
        /// Main method make initialization of main classes, call engine to start the game and print welcome message.
        /// </summary>
        internal static void Main()
        {
            PrintWelcomeMessage();

            GameBoardManager gameBoardManager = new GameBoardManager();
            gameBoardManager.GenerateNewGameBoard();
            gameBoardManager.PrintGameBoard();

            Engine egine = new Engine();
            egine.Run(gameBoardManager);
        }
 public void ShootBaloons_CoordinatesZeroZero()
 {
     GameBoardManager gameBoardManager = new GameBoardManager();
     gameBoardManager.GenerateNewGameBoard();
     string input = "0 0";
     Coordinates coordinates = new Coordinates();
     Coordinates.TryParse(input, ref coordinates);
     gameBoardManager.ShootBaloons(coordinates);
     char arr = gameBoardManager.GameBoard[4, 2];
     char result = '.';
     Assert.AreEqual(result, arr);
 }
Example #5
0
        /// <summary>
        /// Main method make initialization of main classes, call engine to start the game and print welcome message.
        /// </summary>
        internal static void Main()
        {
            PrintWelcomeMessage();

            GameBoardManager gameBoardManager = new GameBoardManager();

            gameBoardManager.GenerateNewGameBoard();
            gameBoardManager.PrintGameBoard();

            Engine egine = new Engine();

            egine.Run(gameBoardManager);
        }
        public void PrintGameBoard()
        {
            GameBoardManager gameBoardManager = new GameBoardManager();
            gameBoardManager.GenerateNewGameBoard();
            StringBuilder gameBoardAsString = new StringBuilder();
            StringBuilder printed = new StringBuilder();
            StringBuilder current = new StringBuilder();
            gameBoardAsString.AppendLine();
            for (int col = 0; col < 8; col++)
            {
                for (int row = 0; row < 25; row++)
                {
                    gameBoardAsString.Append(gameBoardManager.GameBoard[row, col]);
                }

                gameBoardAsString.AppendLine();
            }

            Console.SetOut(new System.IO.StringWriter(printed));
            gameBoardManager.PrintGameBoard();
            Console.SetOut(new System.IO.StringWriter(current));
            Console.WriteLine(gameBoardAsString);

            Assert.AreEqual(current.ToString(), printed.ToString());
        }
 public void RemainingBaloons_OneShot()
 {
     GameBoardManager gameBoardManager = new GameBoardManager();
     gameBoardManager.GenerateNewGameBoard();
     string input = "0 0";
     Coordinates coordinates = new Coordinates();
     Coordinates.TryParse(input, ref coordinates);
     gameBoardManager.ShootBaloons(coordinates);
     Assert.IsTrue(gameBoardManager.RemainingBaloons < 50);
 }
 public void ShootCounter_ThreeShoots()
 {
     GameBoardManager gameBoardManager = new GameBoardManager();
     gameBoardManager.GenerateNewGameBoard();
     string input = "0 0";
     Coordinates coordinates = new Coordinates();
     Coordinates.TryParse(input, ref coordinates);
     gameBoardManager.ShootBaloons(coordinates);
     input = "1 1";
     Coordinates.TryParse(input, ref coordinates);
     gameBoardManager.ShootBaloons(coordinates);
     input = "2 2";
     Coordinates.TryParse(input, ref coordinates);
     gameBoardManager.ShootBaloons(coordinates);
     Assert.AreEqual(3, gameBoardManager.ShootCounter);
 }
 public void ShootBaloons_HitPosition()
 {
     GameBoardManager gameBoardManager = new GameBoardManager();
     gameBoardManager.GenerateNewGameBoard();
     string input = "2 1";
     Coordinates coordinates = new Coordinates();
     Coordinates.TryParse(input, ref coordinates);
     gameBoardManager.ShootBaloons(coordinates);
     input = "0 1";
     Coordinates.TryParse(input, ref coordinates);
     gameBoardManager.ShootBaloons(coordinates);
 }