[ElectricGrandpa Entry 1] - ThinkFast Game

This is my first entry, a game named ThinkFast.

It’s 24 lines long and fully playable. It even stores your best score in a shared object.


//ThinkFast 
//Created by Matt Rix(ElectricGrandpa) for the '25 Line AS Contest' on www.kirupa.com
//
//1
var tf_so:SharedObject = SharedObject.getLocal("tf_personalBest");
//2
(tf_so.data.score == undefined) ? tf_so.data.score=0 : null;
MovieClip.prototype.drawShape = function(p_x:Number, p_y:Number, p_thickness:Number, p_color:Number, p_alpha:Number, p_coordinates:Array) {
	//3
	this.lineStyle(p_thickness, p_color, p_alpha);
	//4
	for (var d:Number = 0; d<p_coordinates.length; d++) {
		//5
		this.lineTo(p_x+p_coordinates[d][0], p_y+p_coordinates[d][1]);
	}
};
function countDown(p_level:Number):Void {
	//6
	this.status_txt.text = "Click on the shape that's been rotated! You've only got "+(timer-1)+" "+(((timer-1) == 1) ? " second  " : " seconds ")+"left!                                                                 Level "+p_level+"                        Your personal best is "+(tf_so.data.score);
	//7
	timer--;
	//8
	(timer == 0) ? startRound(1) : null;
}
function startRound(p_level:Number) {
	//9
	itemHolder_mc = this.createEmptyMovieClip("itemHolder_mc", 10);
	//10
	itemHolder_mc["item"+0+"_mc"] = itemHolder_mc.createEmptyMovieClip("item"+0+"_mc", 0);
	//11
	itemHolder_mc["item"+0+"_mc"].drawShape(0, 0, 2, random(Math.min(14000000, ((p_level*p_level)*500)+random((p_level*p_level)*500))), 100, [[random(100)-100/2, random(100)-100/2], [random(100)-100/2, random(100)-100/2], [random(100)-100/2, random(100)-100/2], [random(100)-100/2, random(100)-100/2], [random(100)-100/2, random(100)-100/2]]);
	//12
	for (var i:Number = random(p_level)+3; i>=0; i--) {
		//13
		(i != 0) ? itemHolder_mc["item"+0+"_mc"].duplicateMovieClip("item"+i+"_mc", i, {_x:50+random(700), _y:80+random(180), _alpha:Math.max(50, (100-random(p_level*.1))), level:p_level}) : itemHolder_mc["item"+0+"_mc"].removeMovieClip();
	}
	//14
	itemHolder_mc["item"+1+"_mc"]._rotation = 50+random(260);
	//15
	(tf_so.data.score<itemHolder_mc["item"+1+"_mc"].level) ? tf_so.data.score=itemHolder_mc["item"+1+"_mc"].level : null;
	//16  
	timer = 6;
	//17
	clearInterval(countDownInterval);
	//18
	countDownInterval = setInterval(this, "countDown", 1000, p_level);
	//19
	countDown(p_level);
}
this.onMouseDown = function():Void  {
	//20
	((Math.sqrt(Math.pow((this._xmouse-itemHolder_mc.item1_mc._x), 2)+Math.pow((this._ymouse-itemHolder_mc.item1_mc._y), 2)))<50) ? startRound(itemHolder_mc["item"+1+"_mc"].level+1) : startRound(1);
};
//21
this.createTextField("status_txt", 20, 5, 0, 800, 20);
//22
this.status_txt.selectable = false;
//23
Stage.scaleMode = "noScale";
//24
startRound(1);

Try it out, let me know what you think! My best score so far is around 125(although with a little luck and perseverance, it’d be possible to break 1000).

-Matt