Exemplo n.º 1
0
        public GameViewModel(INavigator navigator,
                             IComputerAlgorithmService computerAlgorithm,
                             IBoatPlacementGenerationService boatPlacementGenerator,
                             IListToGridTransformer listToGridTransformer,
                             IBoatApearanceManager boatApearanceManager,
                             ISaveGameService saveGameService,
                             GameModel game)
        {
            // Dependency Injection
            _navigator              = navigator;
            _computerAlgorithm      = computerAlgorithm;
            _boatPlacementGenerator = boatPlacementGenerator;
            _listToGridTransformer  = listToGridTransformer;
            _boatApearanceManager   = boatApearanceManager;
            _saveGameService        = saveGameService;

            // Assign fields and properties
            User     = game.User;
            Computer = game.Computer;

            _currentPlayersTurn = User;
            AssignCommands(navigator);
            AssignTarget();

            // Prep data
            TransformBoatsToBoard();

            // Start Game
            BeginGameplay();
        }
Exemplo n.º 2
0
        public GameViewModel(INavigator navigator,
                             IComputerAlgorithmService computerAlgorithm,
                             IBoatPlacementGenerationService boatPlacementGenerator,
                             IListToGridTransformer listToGridTransformer,
                             IBoatApearanceManager boatApearanceManager,
                             ISaveGameService saveGameService,
                             Player user)
        {
            // Dependency Injection
            _navigator              = navigator;
            _computerAlgorithm      = computerAlgorithm;
            _boatPlacementGenerator = boatPlacementGenerator;
            _listToGridTransformer  = listToGridTransformer;
            _boatApearanceManager   = boatApearanceManager;
            _saveGameService        = saveGameService;

            // Assign fields and properties
            User     = user;
            Computer = new Player(nameof(Computer))
            {
                Boats = new ObservableCollection <IBoat>(_boatPlacementGenerator.GenerateBoats(5, BoardDimention))
            };

            _currentPlayersTurn = User;
            AssignCommands(navigator);
            AssignTarget();

            // Prep data
            TransformBoatsToBoard();
            PrepBoats();

            // Start Game
            BeginGameplay();
        }