public Board(IBoardBuilder builder) { _size = builder.BoardSize; _squares = new ArrayList(_size); BuildSquares(builder); LinkSquares(); }
private void Start() { _ui = new UI.Core.UI(); _forceCalculator = new ForceCalculator(); _selector = new Selector3D(); _pusher = new Pusher(); _boardBuilder = new BoardBuilder(); _inputHandler = new MouseInputHandler(); _board = _boardBuilder.Build(); _turnSwitcher = new TurnSwitcher(_board); _playerAI = new PlayerAI( _inputHandler, _board ); InitUIHandler(); _inputHandler.OnDownEvent += OnDownEventHandler; _inputHandler.OnUpEvent += OnUpEventHandler; _turnSwitcher.MoveCompleteEvent += MoveCompleteEventHandler; _board.CheckersIsEmty += CheckersIsEmtyEventHandler; foreach (var checker in _board.CheckersWhite.Concat(_board.CheckersBlack)) { var checker1 = checker; checker1.SelectEvent += () => SelectEventHandler(checker1); checker1.BouncingBorderEvent += () => BouncingBorderEventHandler(checker1); } _ui.SelectYourColourText(); }
public Game(IRules rulesProvider, IBoardBuilder boardBuilder, IGameStatistics gameStatistics) { _rulesProvider = rulesProvider; _boardBuilder = boardBuilder; _history = new LinkedList <History>(); _gameStatistics = gameStatistics; UndoMove = new UndoGameMove(this); RedoMove = new RedoGameMove(this); StopMove = new StopGameMove(this); _board = _boardBuilder.Build(); }
public Board(IBoardBuilder builder) { if (builder == null) throw new ArgumentNullException(nameof(builder)); builder.Build(); Tiles = builder.Tiles; Vertices = builder.Vertices; Edges = builder.Edges; Harbors = builder.Harbors; Robber = new Robber(Tiles.Single(t => t.Rawmaterial == MaterialType.Unsourced)); }
public void Start() { // Создание строителя шахматной доски. // Создание доски. // Создание объектов для выбора фигур и ячеек. _boardBuilder = new BoardBuilder(); _board = _boardBuilder.Build(); _selector = new Selector(); // Подписка на события фигур и клеток игрового поля SubscribeToCells(); SubscribeToFigures(); // Первыми ходят белые ActiveFiguresColor = FigureColor.WHITE; }
private Game GetSubject(IRules rules = default, IBoardBuilder boardBuilder = default, IGameStatistics gameStatistics = default) { if (rules == default) { rules = new EnglishDraughtsRules(); } if (boardBuilder == default) { boardBuilder = new DraughtsBoardBuilder(); } if (gameStatistics == default) { gameStatistics = new GameStatistics(); } return(new Game(rules, boardBuilder, gameStatistics)); }
//================ //TODO: re-implement this using Commands or even Reactive approach //================ public MainWindow() { _rules = new EnglishDraughtsRules(); _boardBuilder = new DraughtsBoardBuilder(); //_boardBuilder = new PresetBoardBuilder(); _boardScoring = new TrivialBoardScoring(); _gameStatistics = new GameStatistics(); _game = new Game(_rules, _boardBuilder, _gameStatistics); _userPlayer = this; _waitHandler = new AutoResetEvent(false); WalkMoves = new Dictionary <Figure, WalkGameMove[]>(); AvailableMoves = new ObservableCollection <MovesModel>(); Cells = new ObservableCollection <Cell>(); InitializeComponent(); LayoutRoot.DataContext = this; ChessBoard.ItemsSource = Cells; }
public abstract void SetBoardToBuilder(IBoardBuilder <T> boardBuilder);
public Controller(View <T> viewToDispayBoard, IBoardBuilder <T> builderToCreateBoard) { BuilderToCreateBoard = builderToCreateBoard; ViewToDispayBoard = viewToDispayBoard; }
public void Construct(IBoardBuilder builder) { var random = new Random(); var count = 0; switch (_strategy.Name) { case Strategies.EasyStrategy: builder.AddEnemyVisitor(new EnemyEasyVisitor(_score)); builder.AddDrawTheme(new SimpleGame()); break; case Strategies.MediumStrategy: builder.AddEnemyVisitor(new EnemyMediumVisitor(_score)); builder.AddDrawTheme(new RetroGame()); break; case Strategies.HardStrategy: builder.AddEnemyVisitor(new EnemyHardVisitor(_score)); builder.AddDrawTheme(new AlienGame()); break; } for (var column = 0; column < Contracts.GameSizeHeight; column++) { for (var row = 0; row < Contracts.GameSizeWidth; row = row + 10) { var number = random.Next(0, 100); var position = new Block() { From = new Position(row, column), To = new Position(row + 8, column) }; if (number >= _strategy.HardEnemyProbability) { builder.AddHardEnemy(position); } else if (number >= _strategy.MediumEnemyProbability) { builder.AddMediumEnemy(position); } else { builder.AddEasyEnemy(position); } count++; if (count > _strategy.InitialSize + _level) { break; } } if (count > _strategy.InitialSize + _level) { break; } } if (_spaceShipPosition != null) { builder.AddSpaceShip(4, _spaceShipPosition.X, _spaceShipPosition.Y, _bullets); } else { builder.AddSpaceShip(4, 40, 50); } }
public static void ClassInit(TestContext context) { if (_BOARD_BUILDER == null) _BOARD_BUILDER = Board.GetBuilder(); }
public static void ClassCleanup() { _BOARD_BUILDER = null; }
private void Start() { _builder = new BoardBuilder(); _currentBoardState = _builder.BuildBoard(); BuildColumnList(); }
private void BuildSquares(IBoardBuilder builder) { _squares.AddRange(builder.BuildSquares()); }
public BoardController(View <T> viewToDisplayBoard, IBoardBuilder <T> builderToCreateBoard) : base(viewToDisplayBoard, builderToCreateBoard) { _logger = LogManager.GetCurrentClassLogger(); }
public BoardMoveTest() { boardBuilder = new BoardBuilder(); _board = boardBuilder.Build(8, 8, 5); }
public override void SetBoardToBuilder(IBoardBuilder <T> boardBuilder) { BuilderToCreateBoard = boardBuilder; _logger.Info(LoggerMessage.SET_BOARD_TO_BUILDER); }
public MonopolyGame(IBoardBuilder builder) { _board = new Board(builder); }
public GameBuilder(IBoardBuilder boardBuilder) { _boardBuilder = boardBuilder; }