/// <summary>
        /// Moves a piece from the given space to the other space
        /// </summary>
        /// <param name="moveTo"> Space on board where the player is going to move their piece </param>
        /// <param name="moveFrom"> Space on board where the player is moving from </param>
        public void movePiece(SpaceClass moveTo, SpaceClass moveFrom, ref bool capturedPiece)
        {
            moveTo.setPiece(moveFrom.getPiece());
            moveFrom.pieceNull();
            capturedPiece = false;

            //Takes away from the correct player's pieceCount if a capture happened
            if (capturedSpace != null)
            {
                capturedSpace.pieceNull();
                if (curPlayer == DriverForm.p1)
                {
                    DriverForm.p2.lostPiece(false);
                    capturedPiece = true;
                }
                else if (curPlayer == DriverForm.p2)
                {
                    DriverForm.p1.lostPiece(false);
                    capturedPiece = true;
                }
            }
        }
        /// <summary>
        /// Determines if where the player clicked is a valid end location
        ///     for a movement.
        /// </summary>
        /// <param name="moveTo"> Space on board where the player is going to move their piece </param>
        /// <param name="moveFrom"> Space on board where the player is moving from </param>
        /// <param name="curPlayer"> The player currently moving their piece </param>
        /// <returns></returns>
        public Boolean isValidMove(SpaceClass moveTo, SpaceClass moveFrom)
        {
            capturedSpace = null;
            jumpedSpace   = null;

            if (moveTo.hasPiece())  //Cant move to a space with a piece on it
            {
                return(false);
            }

            else if (!moveFrom.getPiece().getIsKing()) //Non-king move
            {
                //These 2 else ifs are to prevent the pieces from going backwards
                if (curPlayer == DriverForm.p1 && moveTo.getRow() < moveFrom.getRow())
                {
                    return(false);
                }

                else if (curPlayer == DriverForm.p2 && moveTo.getRow() > moveFrom.getRow())
                {
                    return(false);
                }

                //This would be a valid "slide" move
                else if ((Math.Abs(moveTo.getRow() - moveFrom.getRow()) == 1) && (Math.Abs(moveTo.getCol() - moveFrom.getCol()) == 1))
                {
                    return(true);
                }

                //This would be a valid "jump" move
                else if ((Math.Abs(moveTo.getRow() - moveFrom.getRow()) == 2) && (Math.Abs(moveTo.getCol() - moveFrom.getCol()) == 2))
                {
                    if (curPlayer == DriverForm.p1)
                    {
                        if (moveTo.getCol() < moveFrom.getCol())
                        {
                            jumpedSpace = hiddenBoard[moveTo.getRow() - 1, moveTo.getCol() + 1];
                        }
                        else if (moveTo.getCol() > moveFrom.getCol())
                        {
                            jumpedSpace = hiddenBoard[moveTo.getRow() - 1, moveTo.getCol() - 1];
                        }

                        if (jumpedSpace.hasPiece() && jumpedSpace.getPiece().getPlayer() == DriverForm.p2)
                        {
                            capturedSpace = jumpedSpace;
                            return(true);
                        }
                    }

                    else if (curPlayer == DriverForm.p2)
                    {
                        if (moveTo.getCol() < moveFrom.getCol())
                        {
                            jumpedSpace = hiddenBoard[moveTo.getRow() + 1, moveTo.getCol() + 1];
                        }
                        else if (moveTo.getCol() > moveFrom.getCol())
                        {
                            jumpedSpace = hiddenBoard[moveTo.getRow() + 1, moveTo.getCol() - 1];
                        }

                        if (jumpedSpace.hasPiece() && jumpedSpace.getPiece().getPlayer() == DriverForm.p1)
                        {
                            capturedSpace = jumpedSpace;
                            return(true);
                        }
                    }
                }                                     //End jump move
            }                                         //End non-king move

            else if (moveFrom.getPiece().getIsKing()) //king move
            {
                //Slide move
                if ((Math.Abs(moveTo.getRow() - moveFrom.getRow()) == 1) && (Math.Abs(moveTo.getCol() - moveFrom.getCol()) == 1))
                {
                    return(true);
                }

                //Jump move
                else if ((Math.Abs(moveTo.getRow() - moveFrom.getRow()) == 2) && (Math.Abs(moveTo.getCol() - moveFrom.getCol()) == 2))
                {
                    if (moveTo.getCol() < moveFrom.getCol() && moveTo.getRow() < moveFrom.getRow())
                    {
                        jumpedSpace = hiddenBoard[moveTo.getRow() + 1, moveTo.getCol() + 1];
                    }
                    else if (moveTo.getCol() > moveFrom.getCol() && moveTo.getRow() > moveFrom.getRow())
                    {
                        jumpedSpace = hiddenBoard[moveTo.getRow() - 1, moveTo.getCol() - 1];
                    }

                    else if (moveTo.getCol() > moveFrom.getCol() && moveTo.getRow() < moveFrom.getRow())
                    {
                        jumpedSpace = hiddenBoard[moveTo.getRow() + 1, moveTo.getCol() - 1];
                    }

                    else if (moveTo.getCol() < moveFrom.getCol() && moveTo.getRow() > moveFrom.getRow())
                    {
                        jumpedSpace = hiddenBoard[moveTo.getRow() - 1, moveTo.getCol() + 1];
                    }

                    if (curPlayer == DriverForm.p1)
                    {
                        if (jumpedSpace.hasPiece() && jumpedSpace.getPiece().getPlayer() == DriverForm.p2)
                        {
                            capturedSpace = jumpedSpace;
                            return(true);
                        }
                    }

                    else if (curPlayer == DriverForm.p2)
                    {
                        if (jumpedSpace.hasPiece() && jumpedSpace.getPiece().getPlayer() == DriverForm.p1)
                        {
                            capturedSpace = jumpedSpace;
                            return(true);
                        }
                    }
                } //End jump move
            }     //End king move

            return(false);
        }