I am not sure if a class would be the best option but I am using the following code to create a random walking player by using a class that contains it's function. (Soon I will need the class to do hit tests as well).

When I run this code I get lots of lag.
class
Actionscript Code:
class Person {
    private var h:Number;
    private var g:Number;
    private var j:Number;
    private var h2:Number;
    private var g2:Number;
    private var j2:Number;
    private var h3:Number;
    private var g3:Number;
    private var j3:Number;
    private var h4:Number;
    private var g4:Number;
    private var j4:Number;
    private var i:Number;
    private var e:Number;
    private var x2:Number;
    private var x3:Number;
    private var y2:Number;
    private var y3:Number;
    private var ran0:Number;
    private var ran1:Number;
    private var ran2:Number;
    private var ran3:Number;
    private var ran4:Number;
    private var ran5:Number;
    private var ran6:Number;
    private var dontrun:Boolean;
    private var npcx:Number;
    private var npcy:Number;
    private var npcgtas:Number;
    private var npcdocon:Boolean;
    private var npcdofcon:Boolean;
    private var objectMaxfdcon:Number;
    private var npcupcon:Boolean;
    private var npcupfcon:Boolean;
    private var objectMaxfucon:Number;
    private var npcricon:Boolean;
    private var npcrifcon:Boolean;
    private var objectMaxfrcon:Number;
    private var npclecon:Boolean;
    private var npclefcon:Boolean;
    private var objectMaxflcon:Number;
    private var pausemovenpc:Boolean;
    private var ires:Number;
    private var ires2:Number;
    private var ires3:Number;
    private var ires4:Number;
    private var dontrunrandisrdir:Boolean;
    private var npcdr:Boolean;
    private var initia:Boolean;
    function Person(dontruni:Boolean, npcxi:Number, npcyi:Number, npcgtasi:Number, objectMaxfdconi:Number, objectMaxfuconi:Number, objectMaxfrconi:Number, objectMaxflconi:Number, pausemovenpcl:Boolean) {
        trace("initiate defults");
        dontrun = dontruni;
        npcx = npcxi;
        npcy = npcyi;
        npcgtas = npcgtasi;
        objectMaxfdcon = objectMaxfdconi;
        objectMaxfucon = objectMaxfuconi;
        objectMaxfrcon = objectMaxfrconi;
        objectMaxflcon = objectMaxflconi;
        pausemovenpc = pausemovenpcl;
        h = 0;
        g = 0;
        j = 0;
        h2 = 0;
        g2 = 0;
        j2 = 0;
        h3 = 0;
        g3 = 0;
        j3 = 0;
        h4 = 0;
        g4 = 0;
        j4 = 0;
        i = 0;
        e = 0;
        x2 = 0;
        x3 = 0;
        y2 = 0;
        y3 = 0;
        ran0 = 0;
        ran1 = 0;
        ran2 = 0;
        ran3 = Math.floor(Math.random()*1);
        ran4 = 0;
        ran5 = 0;
        ires = 0;
        ires2 = 0;
        ires3 = 0;
        ires4 = 0;
    }
    function npcMove(dontruni:Boolean, npcxi:Number, npcyi:Number, npcgtasi:Number, pausemovenpcl:Boolean, npcdrl:Boolean, npcupconl:Boolean, npcriconl:Boolean, npcdoconl:Boolean, npcleconl:Boolean, initial:Boolean):Array {
        initia = initial;
        npcupcon = npcupconl;
        npcricon = npcriconl;
        npcdocon = npcdoconl;
        npclecon = npcleconl;
        trace("npcMove");
        trace(npcx);
        trace(npcy);
        trace("trace:"+initia);
        npcx = npcxi;
        npcy = npcyi;
        npcgtas = npcgtasi;
        dontrun = dontruni;
        pausemovenpc = pausemovenpcl;
        npcdr = npcdrl;
        if (initia == true) {
            if (npcdr != true) {
                ran1 = Math.floor(Math.random()*4);
                ran2 = Math.floor(Math.random()*100);
                ran5 = Math.floor(Math.random()*24);
                ran2 += 15;
                ran5 += 6;
                ran0 = Math.floor(Math.random()*25);
                x2 = npcx-ran2;
                y2 = npcy-ran2;
                x3 = npcx+ran2;
                y3 = npcy+ran2;
                dontrun = true;
                npcdr = true;
                e = 0;
            }
            if (ran1 == 0) {
                if (npcy<=y2) {
                    dontrun = false;
                    npcgtas = 1;
                } else {
                    if (npcupcon != false) {
                        npcgtas = 5;
                        npcy = (npcy -= 1);
                    } else if (npcupcon == false) {
                        y2 = npcy;
                    }
                }
            }
            if (ran1 == 1) {
                if (npcx>=x3) {
                    dontrun = false;
                    npcgtas = 2;
                } else {
                    if (npcricon != false) {
                        npcgtas = 6;
                        npcy = (npcx -= 1);
                    } else if (npcricon == false) {
                        x3 = npcx;
                    }
                }
            }
            if (ran1 == 2) {
                if (npcy>=y3) {
                    dontrun = false;
                    npcgtas = 3;
                } else {
                    if (npcdocon != false) {
                        npcgtas = 7;
                        npcy = (npcy += 1);
                    } else if (npcdocon == false) {
                        y3 = npcy;
                    }
                }
            }
            if (ran1 == 3) {
                if (npcx<=x2) {
                    dontrun = false;
                    npcgtas = 4;
                } else {
                    if (npclecon != false) {
                        npcgtas = 8;
                        npcx = (npcx -= 1);
                    } else if (npclecon == false) {
                        x2 = npcx;
                    }
                }
            }
            /*3*/
            if (ran1<4) {
                if (dontrun == false) {
                    ran1 = -1;
                    if (e == ran5) {
                        npcdr = false;
                    }
                    e++;
                }
            }
            //Updates player positions.
            trace("Return: "+npcx);
            return [dontrun, npcx, npcy, npcgtas, pausemovenpc, npcdr];
        }
    }
}

main frame

Actionscript Code:
var npc001prop = new Array();
var npc001prop2 = new Array();
var initia:Boolean;
npc001prop[0] = false;
npc001prop[1] = npc001._x;
npc001prop[2] = npc001._y;
npc001prop[3] = 0;
npc001prop[4] = false;
npc001prop[5] = false;
npc001prop[6] = false;
npc001prop[7] = false;
npc001prop[8] = false;
npc001prop[9] = false;
npc001prop2[0] = false;
npc001prop2[1] = 1;
npc001prop2[2] = 1;
npc001prop2[3] = 1;
npc001prop2[4] = 1;
import Person;
var npc001controler = new Person(npc001prop[0], npc001prop[1], npc001prop[2], npc001prop[3], npc001prop2[0], npc001prop2[1], npc001prop2[2], npc001prop2[3], false);
initia = false;
var r:Object = npc001controler.npcMove(dontrun, npcx, npcy, npcgtas, pausemovenpc, npcdr, initia);
initia = true;
npc001.onEnterFrame = function() {
    npc001prop = npc001controler.npcMove(npc001prop[0], npc001prop[1], npc001prop[2], npc001prop[3], npc001prop[4], npc001prop[5], npc001prop[6], npc001prop[7], npc001prop[8], npc001prop[9], initia);
    this._x = npc001prop[1];
    this._y = npc001prop[2];
    this.gotoAndStop(npc001prop[3]);
    trace("Don't Run = "+npc001prop[0]);
    trace("\nNpc._x = "+npc001prop[1]);
    trace("\nNpc._y = "+npc001prop[2]);
    trace("\ngotoAndStop = "+npc001prop[3]);
    trace("\nPause Npc Movement = "+npc001prop[4]);
    trace("\nStart a New Direction = "+npc001prop[5]);
};

any suggests to achieve the same effect but with a performance boost!