public Board(int gridWidth, int gridHeight, IBoardDrawer drawer) { this.drawer = drawer; const int AIPlayer = 0; const int humanPlayer = 1 - AIPlayer; // Test seeds: seed = 1092552428; //seed = 2053617222; //seed = new Random().Next(); players[AIPlayer] = new AIPlayer(AIPlayer, this); players[humanPlayer] = new HumanPlayer(humanPlayer, this); grid = new Grid(gridWidth, gridHeight, seed); grid.Move(3, 0); grid.Move(3, 1); grid.Move(3, 0); grid.Move(3, 1); grid.Move(3, 0); grid.Move(2, 1); }
static Program() { var configFactory = new ConfigFactory(); var cellFactory = new CellFactory(); var figureFactory = new FigureFactory(); var boardFactory = new BoardFactory(figureFactory, cellFactory); var linesFactory = new LinesFactory(); Console = new ConcreteConsole(); var consoleInputProvider = new ConsoleInputProvider(Console); var playerRegisterManager = new PlayerRegisterManager(consoleInputProvider, Console); PreparationService = new GamePreparationService(configFactory, playerRegisterManager, consoleInputProvider, Console); var inputManager = new GameInputProvider(consoleInputProvider, Console); PartyFinishedProvider = new PartyFinishProvider(consoleInputProvider); GameFactory = new GameFactory(boardFactory, linesFactory, inputManager); var figureDrawerFactory = new FigureDrawerFactory(Console); var figureDrawerProvider = new FigureDrawerProvider(figureDrawerFactory); BoardDrawer = new BoardDrawer(Console, figureDrawerProvider); }
public RobotPlayer(IBoardDrawer boardDrawer, IBattleField battleField, IShipPlacer shipPlacer) { _battleField = battleField; _shipPlacer = shipPlacer; _boardDrawer = boardDrawer; _exploratoryAttack = new ExploratoryAttack(battleField, shipPlacer); _afterHitAttack = new AfterHitAttack(battleField); _currentAttackMode = AttackMode.Exploratory; }
public HumanPlayer(IBoardDrawer boardDrawer, IBattleField battleField, IShipPlacer shipPlacer) { _boardDrawer = boardDrawer ?? throw new ArgumentNullException(nameof(boardDrawer)); _battleField = battleField ?? throw new ArgumentNullException(nameof(battleField)); _shipPlacer = shipPlacer ?? throw new ArgumentNullException(nameof(shipPlacer)); }