Exemplo n.º 1
0
        private void OnSquareSelected(object obj)
        {
            var square = obj as IChessSquareViewModel;

            if (square == null)
            {
                return;
            }

            if (_gameTable.CurrentPlayer.IsAutomatic)
            {
                return;
            }
            _gameTable.ParseInput(square.Position);
            RedrawTable();
        }
Exemplo n.º 2
0
        public void Act(IGameTable gameTable)
        {
            _gameTable = gameTable;
            var result       = Gateway.GenerateMove(gameTable.GetFen(), gameTable.Difficulty);
            var fromPosition = new Position(result.FromRank, result.FromFile);
            var toPosition   = new Position(result.ToRank, result.ToFile);
            var promotedTo   = result.PromotedTo;

            _gameTable.SetSelectedPiece(fromPosition);
            _gameTable.ParseInput(toPosition);
            if (promotedTo != ' ')
            {
                _gameTable.GetPieces().First(p => p.CurrentPosition == toPosition).Type = Helper.GetType(promotedTo);
            }
            _eventAggregator.GetEvent <RefreshTableEvent>().Publish(gameTable);
        }