Hi guys, I'm trying to create a game where cubes fall from the sky. The cubes are randomly picked from an array and when you click on them they should go away. But for every cube you click it should add 2 new once. Here is what I have so far but its just not working

package {
import flash.display.Sprite;
import flash.ui.Mouse;
import flash.events.*;
public class fallingcubes extends Sprite {
var cubes_missed:Number = 0
var count:Number = 0

var max_cubes = 10;


var cubes_on_stage = 0;

var gravity = 0.3;

var influence = 625;
var real_influence = Math.sqrt(influence);

var friction = 0.9;

var divider = 50;

var randomNum:int = 0

var randomA:int

var Absprite: Ab = new Ab(); //this is just 4 cube pictures/objects
var Agsprite: Ag = new Ag();
var Arsprite: Ar = new Ar();
var Aysprite: Ay = new Ay();

var AArray:Array = [Absprite, Agsprite, Arsprite, Aysprite];

public function fallingcubes() {


addEventListener(Event.ENTER_FRAME,main_enterframe );
}



public function main_enterframe(event:Event) {
randomA = Math.random()* ( 4 - 0) + 0;
trace (randomA)



if (cubes_on_stage<max_cubes) {

//adding a star
cubes_on_stage++;
var Absprite: Ab = new Ab();
var Agsprite: Ag = new Ag();
var Arsprite: Ar = new Ar();
var Aysprite: Ay = new Ay();




AArray[randomA].xspeed = 0;
AArray[randomA].yspeed = 0;
AArray[randomA].x = Math.random()*900+25;
AArray[randomA].y = 100
AArray[randomA].addEventListener(Event.ENTER_FRAME,cubesprite_ent erframe);
addChild(AArray[randomA]);

AArray[randomA].addEventListener(MouseEvent.CLICK,remove_cube)

function remove_cube (e:MouseEvent):void{

count += 1
trace("you hit me ", count)
removeChild(AArray[randomA])
max_cubes += 1
cubes_on_stage--

if (count == 20){
gravity = 0
stage.removeEventListener(MouseEvent.CLICK, remove_cube)
}
}

}



}

public function cubesprite_enterframe(event:Event) {




var current_star = (event.currentTarget as AArray[randomA])

current_star.yspeed += gravity;
current_star.xspeed *= friction;
current_star.yspeed *= friction;
current_star.y += current_star.yspeed;
current_star.x += current_star.xspeed;

current_star.rotation -= (current_star.xspeed+current_star.yspeed);

if (current_star.y>640) {

if (this.contains(current_star)){
current_star.removeEventListener(Event.ENTER_FRAME ,cubesprite_enterframe);
removeChild(current_star);
cubes_missed += 1
cubes_on_stage--;
trace ("You missed ", cubes_missed)


}

}

}

}
}

can anyone help