Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.Title          = "BATTLESHIP";
            Console.OutputEncoding = Encoding.Unicode;
            bool         isEasyLevel = false;
            Intelligence enemysMind  = null;
            ConsoleGame  currentGame;

            UserActions numberUserAction = (UserActions)UserInterface.ShowUserActions();
            bool        isNewGame        = UserInterface.IsNewGame();

            if (isNewGame)
            {
                Level levelNumber = UserInterface.InputDifficultyLevel();

                switch (levelNumber)
                {
                case Level.Easy:
                    isEasyLevel = true;
                    break;

                case Level.Meduim:
                    enemysMind = new Intelligence(-1, -1);
                    break;

                case Level.Hard:
                    enemysMind = new AdvancedIntelligence(-1, -1);
                    break;

                default:
                    break;
                }

                MethodShipsBuild introducedMethod = UserInterface.EnterShipsBuildingMethod();

                currentGame = new ConsoleGame(numberUserAction, introducedMethod, enemysMind, isEasyLevel);
            }
            else
            {
                using (PlayerMapSerializer creator = new PlayerMapSerializer(PATH_TO_FOLDER, PATH_TO_FILE))
                {
                    currentGame = creator.ReadPlayerMap() as ConsoleGame;

                    if (currentGame != null)
                    {
                        currentGame.NumberUserAction = numberUserAction;
                        currentGame.IsNewGame        = false;
                    }
                }
            }

            currentGame.Run();
            Console.ReadKey();
        }
Exemplo n.º 2
0
 public ConsoleGame(UserActions numberUserAction, MethodShipsBuild introducedMethod,
                    Intelligence enemysMind, bool isEasyLevel)
 {
     _numberUserAction             = numberUserAction;
     _introducedMethod             = introducedMethod;
     _enemysMind                   = enemysMind;
     _isEasyLevel                  = isEasyLevel;
     _playerMap                    = null;
     _enemyMap                     = null;
     _isPlayerWinner               = false;
     _isAlivePlayerAfterRigthShoot = false;
     _enemyTurn                    = "ENEMY'S TURN!";
     _yourTurn                     = "YOUR TURN!";
     _isEasyLevel                  = false;
     _isTargetPlayer               = false;
     _isTargetEnemy                = false;
     _isNewGame                    = true;
 }
Exemplo n.º 3
0
        public static MethodShipsBuild EnterShipsBuildingMethod()
        {
            Console.Clear();

            Console.WriteLine("Please input method of ships building:");

            for (MethodShipsBuild i = MethodShipsBuild.AutoRandom; i <= MethodShipsBuild.Manual; i++)
            {
                Console.WriteLine($"{i} - {(int)i}");
            }

            bool isNumber;
            int  methodNumber;

            do
            {
                isNumber = int.TryParse(Console.ReadLine(), out methodNumber);
            } while (!isNumber || (methodNumber > 2) || (methodNumber < 1));

            return((MethodShipsBuild)methodNumber);
        }