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