Exemple #1
0
        private void onFieldClick(int x, int y)
        {
            if (game is null || game.GameState == GameStates.blackWin || game.GameState == GameStates.whiteWin)
            {
                return;
            }

            if (selectedPiece is null)
            {
                var pm = game.Board.GetPiece(x, y);
                if (pm.Owner == game.PlayerTurn)
                {
                    selectedPiece = pm;
                }
            }
            else
            {
                if (selectedPiece.canMoveTo(x, y))
                {
                    selectedPiece.moveTo(x, y);
                    if (game.GameState == GameStates.blackWin)
                    {
                        var king = game.Board.getWhiteKing();
                        board[king.PieceXPosition, king.PieceYPosition].BackColor = Color.Red;
                    }
                    else if (game.GameState == GameStates.whiteWin)
                    {
                        var king = game.Board.getBlackKing();
                        board[king.PieceXPosition, king.PieceYPosition].BackColor = Color.Red;
                    }
                }
                selectedPiece = null;
            }
            updateBoard();
        }
Exemple #2
0
        public void moveTo_corrcet()
        {
            Game          game  = new Game();
            IPieceManager piece = game.Board.GetPiece(5, 1);

            piece.moveTo(5, 2);
            Assert.IsTrue(game.Board.GetPiece(5, 1) is EmptyPieceManager);
            Assert.AreEqual(piece.Owner, game.Board.GetPiece(5, 2).Owner);
            Assert.AreEqual(piece.Type, game.Board.GetPiece(5, 2).Type);
        }