Help me with my errors please

Help me before i kill myself, the errors i get are(my programming teacher can’t figure out why):

TypeError: Error #2007: Parameter hitTestObject must be non-null.
at flash.display::DisplayObject/_hitTest()
at flash.display::DisplayObject/hitTestObject()
at MainSH1/gameLoop()
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()
at MainSH1/gameLoop()

it repeats the error many times.


package
{
    import  flash.display.MovieClip;
    import flash.events.*
    import flash.text.*
    import Gun;
    import Bullet;
    import Explosion;
    import Enimie;
    
    
    public class MainSH1 extends MovieClip
    {
        var gun:Gun=null;
        var bullet:Bullet=null;
        var bulletArray:Array=null;
        var i,xOffset,j:int=0;
        var exp:Explosion;
        var enimieArray:Array=null;
        var enimie:Enimie;
        var myText:TextField=null;
        var myFormat:TextFormat=null;
        
        //array that will hold directions of the invaders
        //1= moveing right
        //-1=moveing left
        
        var dirArray:Array=null;
        
        public function MainSH1()
        {
            
            myFormat= new TextFormat;
            myFormat.size=12;
            myFormat.bold=true
            myFormat.color=0x99CCCC
            myFormat.underline=false
            
            myText= new TextField();
            myText.defaultTextFormat=myFormat;
            myText.x=0;
            myText.y=0;
            myText.width=300
            myText.height=300
            myText.border=false
            myText.text= "Points");
            myText.selectable=false
            myText.borderColor=0xFF0000
            stage.addChild(myText);
            
            dirArray=new Array();
            bulletArray=new Array();
            enimieArray=new Array();
            
            
            
            gun=new Gun
            gun.x=80
            gun.y=350
            stage.addChild(gun)
            


            //creating an array of bullets
            //array is empty
            xOffset=10;
            
            i=0;
            while (i<10)
            {
                enimieArray*=new Enimie();
                enimieArray*.x=xOffset;
                enimieArray*.y=50;
                stage.addChild(enimieArray*);
                
                xOffset-=50
                
                enimieArray.push(enimie);
                
                i++
            
            }//end while
            
            i=0;
            while (i<10)
            {
                dirArray*=1;
                i++
            }//end while
            
            addEventListener(Event.ENTER_FRAME, gameLoop);
            
            //when the mouse is clicked the bullet is fired
            
            stage.addEventListener(MouseEvent.CLICK, fireBullet);
            
        }//End of the function main
        
        public function fireBullet(e:MouseEvent):void
        {
            var bullet=new Bullet();
            bullet.x=gun.x;
            bullet.y=gun.y;
            stage.addChild(bullet);
            gotoAndPlay(2);
            
            //add the bullet to the array
            
            bulletArray.push(bullet);
            
        }//end fireBullet function
        
        public function gameLoop (e:Event):void
        {
            gun.x=mouseX
            
            i=0
            
            while (i<enimieArray.length)
            {
                if (dirArray*==1)
                {
                    enimieArray*.x+=5
                    
                
                    if (enimieArray*.x>540)
                    {
                        dirArray*=-1
                        enimieArray*.y+=50
                    
                    }//end if
                }//end if
                
                else if (dirArray*==-1)
                {
                    enimieArray*.x-=5
                    
                    if (enimieArray*.x<10)
                    {
                        dirArray*=1
                        enimieArray*.y+=50
                    }//end if
                    
                }//end else
                
                
                i++
            }// end while
            
            
            
            var bullet:Bullet;
        
        i=0;
        
            while (i<=bulletArray.length-1)
            {
                
                if (bulletArray*.y<15)
                {
                    exp=new Explosion;
                    exp.x=bulletArray*.x;
                    exp.y=bulletArray*.y;
                    stage.addChild(exp);
                    gotoAndStop(25);
                
                }//end if
                
                if (bulletArray*.y>-105)
                {
                    //move bullet to right
                    bulletArray*.y-=10;
                    
                }// end if
                
                else
                {
                    //remove bullet from array
                    stage.removeChild(bulletArray*);
                    
                    bulletArray.splice(i,1);
                    
                    
                }//end else
                
                j=0;
                while (j<enimieArray.length)
                {
                    if (bulletArray*!=null && bulletArray*.hitTestObject(enimieArray[j]))
                    {
                        // remiove the bullet and the enimie from the stage
                        
                        removeChild(bulletArray*);
                        removeChild(enimieArray[j]);
                        
                        //remove from array
                        
                        bulletArray*.splice(i,1);
                        enimieArray[j].splice(j,1);
    
                    }//end if
                                                                
                    j++
                }//end while j
                
                i++
                
            }//end of while
                
        }// end of gameLoop
        
    }//end of class Main
    
}//End Package