Exemplo n.º 1
0
        public virtual void RunGame()
        {
            while (playerFleet < playerShips.Count && robotFleet < robotShips.Count)
            {
                Console.Clear();
                renderer.AddMessageToRender("Oponent sea:" + Environment.NewLine);
                renderer.AddSeaToRender(seas[0]);
                renderer.AddMessageToRender(Environment.NewLine + "Your sea:" + Environment.NewLine);
                renderer.AddSeaToRender(seas[1]);

                Position shot;

                renderer.RenderAll();
                renderer.ClearRenderObjects();


                renderer.AddMessageToRender("Insert coordinates to shoot int oponent field:");

                renderer.RenderAll();
                renderer.ClearRenderObjects();

                shot = userInput.ReadShootCommand();
                //shot = this.iBoot.GetNextPosition(seas[0]); // test IntelligentBot
                this.ProcessShot(seas[0], shot);

                shot = this.iBoot.GetNextPosition(seas[1]);
                //shot = GenerateRobotShoot(); // the GenerateRobotShoot(); is commented below
                // iBoot.GetNextPosition(seas[1]);
                this.ProcessShot(seas[1], shot);

                System.Threading.Thread.Sleep(50);
            }

            string message;

            if (playerShips.Count == playerFleet)
            {
                message = "COMPUTER WINS!";
            }
            else
            {
                message = "YOU WIN!";
            }
            renderer.ClearRenderObjects();
            Console.Clear();
            renderer.AddMessageToRender(message);
            renderer.RenderAll();
        }