コード例 #1
0
        public void FirstWhitePawnTest()
        {
            GameBoard gb = new GameBoard(8, 8);
            MoveLogic ml = new MoveLogic(gb);

            var pawn = gb.squares[1, 0];

            GetAllValidMoves.GetMoves(ml, pawn, ChessColor.White, false);

            Assert.AreEqual(2, GetAllValidMoves.AllValidMoves.Count);
            Assert.AreEqual(gb.squares[2, 0].Coord, GetAllValidMoves.AllValidMoves[0]);
            Assert.AreEqual(gb.squares[3, 0].Coord, GetAllValidMoves.AllValidMoves[1]);
        }
コード例 #2
0
        /*
         * Gets all valid move for the selected piece and updates the ViewModel
         */
        private void ShowValidMoves(Square FromSquare)
        {
            //var color = Game.CurrentPlayer.Color == ChessColor.Black ? ChessColor.White : ChessColor.Black;
            var color = Game.CurrentPlayer.Color;

            ValidMoves.Clear();
            GetAllValidMoves.AllValidMoves.Clear();
            GetAllValidMoves.GetMoves(Game.ml, FromSquare, color, false);

            for (int i = 0; i < GetAllValidMoves.AllValidMoves.Count; i++)
            {
                ValidMoves.Add(ConvertCordToIndex(GetAllValidMoves.AllValidMoves[i]));
                ChessBoard[ValidMoves[i]].ValidMove = Visibility.Visible;
            }
        }
コード例 #3
0
        public void TwoSeparatePiecesTest()
        {
            GameBoard gb = new GameBoard(8, 8);
            MoveLogic ml = new MoveLogic(gb);

            var pawn = gb.squares[1, 0];

            GetAllValidMoves.GetMoves(ml, pawn, ChessColor.White, false);
            Assert.AreEqual(2, GetAllValidMoves.AllValidMoves.Count);
            Assert.AreEqual(gb.squares[2, 0].Coord, GetAllValidMoves.AllValidMoves[0]);
            Assert.AreEqual(gb.squares[3, 0].Coord, GetAllValidMoves.AllValidMoves[1]);


            gb.MovePiece(gb.squares[7, 1], gb.squares[4, 4]);
            GetAllValidMoves.GetMoves(ml, gb.squares[4, 4], ChessColor.Black, false);
            Assert.AreEqual(6, GetAllValidMoves.AllValidMoves.Count);
            Assert.AreEqual(gb.squares[2, 3].Coord, GetAllValidMoves.AllValidMoves[0]);
            Assert.AreEqual(gb.squares[2, 5].Coord, GetAllValidMoves.AllValidMoves[1]);
            Assert.AreEqual(gb.squares[3, 2].Coord, GetAllValidMoves.AllValidMoves[2]);
            Assert.AreEqual(gb.squares[3, 6].Coord, GetAllValidMoves.AllValidMoves[3]);
            Assert.AreEqual(gb.squares[5, 2].Coord, GetAllValidMoves.AllValidMoves[4]);
            Assert.AreEqual(gb.squares[5, 6].Coord, GetAllValidMoves.AllValidMoves[5]);
        }