title: StackOverflow Error AS3
body: <p>This is the code I am getting a StackOverflow error for. I am not entirely sure what is wrong with it. The code is plug and play, so u cna plug it in and test it your self. Can somebody please Help me with it? I am basically genereating 2 different objects from one array and trying to get rid of the object that gets clicked on and, then I put that object into a different array.</p>
  
  <pre><code>import flash.sampler.NewObjectSample;
  import flash.display.Sprite;
  import flash.events.MouseEvent;
  
  var eating_breakfast:Sprite;
  var walking:Sprite;
  var swimming:Sprite;
  var art:Sprite;
  var choices:Array = new Array ();
  
  //Sprite Creation
  eating_breakfast = new Sprite ();
  eating_breakfast.graphics.beginFill(0xE39D43);
  eating_breakfast.graphics.drawRect(0,0,50,50);
  eating_breakfast.graphics.endFill();
  eating_breakfast.x = 50;
  eating_breakfast.y = 50;
  
  
  walking = new Sprite ();
  walking.graphics.beginFill(0xC3266C);
  walking.graphics.drawRect(0,0,50,50);
  walking.graphics.endFill();
  walking.x = 100;
  walking.y = 100;
  
  
  swimming = new Sprite ();
  swimming.graphics.beginFill(0x48AFD1);
  swimming.graphics.drawRect(0,0,50,50);
  swimming.graphics.endFill();
  swimming.x = 150;
  swimming.y = 150;
  
  
  art = new Sprite ();
  art.graphics.beginFill(0xafdb44);
  art.graphics.drawRect(0,0,50,50);
  art.graphics.endFill();
  art.x = 200;
  art.y = 200;
  
  //adding sprites into array
  choices.push( eating_breakfast);
  choices.push(walking);
  choices.push(swimming);
  choices.push(art);
  
  
  var indexcount = 0;
  var randomize:Number;
  var storageArray: Array = new Array ();
  civilizedorder();
  randomizedorder();
  this.addEventListener(MouseEvent.CLICK,switchpic);
  
  //pick the target generated object
  function switchpic(t:MouseEvent)
  {
      //for index count
      // this works as a target so if your mouse target is the object generated by indexcount this will initiate
      if (t.target == choices[indexcount])
      {
          storageArray.push(choices[indexcount]);
          removeChild(choices [indexcount]);
          removeChild(choices [randomize]);
          choices.splice(indexcount,1);
          goNext();
  
      }
      // for randomize
      if (t.target == choices[randomize])
      {
          // this works as a target so if your mouse target is the object generated by randomize this will initiate
          storageArray.push(choices[randomize]);
          removeChild(choices [indexcount]);
          removeChild(choices [randomize]);
          choices.splice(randomize,1);
          indexcount++;
  
          goNext();
      }
  }
  
  //generates the index count object
  function civilizedorder()
  {
      trace("The Index count is" + indexcount);
      addChild(choices [indexcount]);
      choices[indexcount].x = 300;
  
  
  }
  trace("The number of choices in the choice array is " + choices.length);
  //generates the randomized object
  function randomizedorder()
  {
  
      randomize = Math.floor(Math.random() * choices.length);
      trace("the random number is" + randomize);
      if (randomize == indexcount )
      {
          randomizedorder();
      }
      else
      {
          addChild(choices [randomize]);
      }
  
  }
  
  
  function goNext()
  {
      trace("The storagearray has " + (storageArray.length));
      if (choices.length &lt; 0 || choices.length &gt; 0)
      {
          if (indexcount &gt; choices.length-1)
          {
              indexcount = choices.length - 1;
          }
          civilizedorder();
          randomizedorder();
      }
  }
  </code></pre>