private bool StackPiece(Node target) { //valid stack if (target.TopPiece.PieceColor == CurrentPlayer.Color && IsValidMove(SelectedNode, target)) { target.AddPieces(SelectedNode); SelectedNode.RemovePieces(); LastMovedToNode = target; NextStage(); return(true); } return(false); }
private bool CapturePiece(Node target) { //valid capture if (target.TopPiece.PieceColor != CurrentPlayer.Color && IsValidMove(SelectedNode, target) && IsSameOrLessHeight(SelectedNode, target)) { //do capture target.RemovePieces(); target.AddPieces(SelectedNode); SelectedNode.RemovePieces(); LastMovedToNode = target; NextStage(); return(true); } return(false); }