Есть простая игрушка стрелялка-бродилка, нужно помочь разобраться с кодом. Сам код игры, все 100 строчек привожу ниже. Желательно, чтобы человек был из Питера.

Код AS1/AS2:
score = 0;
all = [];//тут хранятся все летающие объекты
lev = 0;
gravity = 0.45;//величина гравитации подбирается (визуально зависит от frameRate)
pos = 0;
neg = 0;
count = 0;
crash._visible = false;
cursor.swapDepths(12002432);//прицел выше всех объектов
Mouse.hide();
function placeTarget() {
lev++;
var d = target.duplicateMovieClip("t" + lev, lev);
d.speedY = -15 - Math.random() * 5;//начальные значения скорости
d.speedX = Math.random() * 4;// плюс небольшой разброс
d.rotSpeed = (Math.random() - .5) * 20;//случайный шаг для вращения
d._x = box._x + Math.random() * box._width;
if (Math.random() < .5) {
d.speedX = -d.speedX;//больше разницы - отражаем объект по горизонтали
}
if ((Math.random() < .5 && pos < 1) || neg >= 5) {
d.gotoAndStop(1);//хорошее приведение
pos++;
neg = 0;
} else {
d.gotoAndStop(2);//плохое приведение
var t = Math.random();//дополнительно случайно определяем тип объекта
if(t < .33) {
d.obj.gotoAndStop(1);
} else if(t < .66) {
d.obj.gotoAndStop(2);
} else{
d.obj.gotoAndStop(3);
}
neg++;
pos = 0;
}
d.onEnterFrame = function() {
this.speedY += gravity;
this._y += this.speedY;
this._x += this.speedX;
//this._rotation += this.rotSpeed;
if (this._y > box._y) {
removeObj(this);
this.removeMovieClip();//удаляем если улетел ниже экрана
}
};
all.push(d);
}
function removeObj(obj){
var i = all.length;
while(i--) {
if(all[i] == obj) {
all.splice(i, 1);
}
}
}
function placeCrash(x, y, _t) {
lev++;
var d = crash.duplicateMovieClip("c" + lev, lev);
d.type = _t;
d._x = x;
d._y = y;
}
onEnterFrame = function () {
if (count++ > 20) {//добавляем бутылку каждый 20-й кадр
count = 0;
placeTarget();
}
cursor._x = _xmouse;
cursor._y = _ymouse;
};
onMouseDown = function(){
cursor.play();//анимация выстрела
var i = all.length;
while(i--) {
var curT = all[i];
if(curT.hitTest(_root._xmouse, _root._ymouse, true)) {
if(curT._currentframe == 1) {
var type = 1;
} else{
var type = curT.obj._currentframe + 1;
}
placeCrash(curT._x, curT._y, type);
if(curT._currentframe == 2) {
score += 10;
if(score >= 100) {
trace("Вы победили");
}
}else {
score -= 25;
score = (score < 0)? 0 : score;
}
curT.removeMovieClip();
all.splice(i, 1);
}
}
}