Пример #1
0
        private InfoAsker <PromoteTo> GetPieceAsker()
        {
            var ret = new InfoAsker <PromoteTo>();

            ret.AskingInfoEvent += (sender, e) => { AskForPieceEvent?.Invoke(this, new EventArgs()); };
            return(ret);
        }
Пример #2
0
        internal ValidMoveFactory(InfoAsker <PromoteTo> infoAsker)
        {
            Guard.ArgumentNotNull(infoAsker, nameof(infoAsker));
            _promoteToAsker = infoAsker;

            _pieceFactory = new PieceFactory();
        }
Пример #3
0
        private Board()
        {
            _playingPieces = new Dictionary <Color, IList <Piece> >
            {
                { Color.Black, new List <Piece>() },
                { Color.White, new List <Piece>() }
            };

            _movesSet  = new MovesSet();
            _kingsDict = new Dictionary <Color, King>();

            NextMoveTurn            = Color.White;
            _infoAsker              = GetPieceAsker();
            _moveFactory            = new ValidMoveFactory(_infoAsker);
            _position               = CreatePosition();
            _timerManager           = InitTimeManager();
            _piecesInfluenceManager = new PiecesInfluenceManager(this);
        }
Пример #4
0
 static void Main(string[] args)
 {
     asker = new InfoAsker <string>();
     asker.AskingInfoEvent += asker_AskingInfoEvent;
     asker.AskAndWaitForInfo();
 }