Team:AUC TURKEY/Test

From 2013hs.igem.org

Revision as of 06:03, 12 June 2013 by Alihancelikcan (Talk | contribs)



//platform var platform:MovieClip = _root.createEmptyMovieClip("platform", _root.getNextHighestDepth()); var pID:Number = 20; var pLeft:Number = 0; var pRight:Number = pID * 40; var pFall:Number = 57; var pInc:Number = 3; //speed var speedTimer:Number = 0; var speedWait:Number = 48; var speedInc:Number = .2; var speed:Number = 7; var minSpeed:Number = 5; //jump var fallSpeed:Number = 0; var jumpSpeed:Number = 10; var floor:Number = 250; var jump:Number = 0; var doubleJump:Boolean = false; var gravity:Number = .5; var plat_arr:Array = [pLeft, 250, pRight]; var signal:Boolean = true; //animation var animFrame:Number = 0; igeman_mc.stop(); igeman_mc.run.stop(); //fps var fps:Number = 48; var frames:Number = 0; var startTime:Number = 0; //fire var nextFire:Number = random(5) + 20; //ice var ices:MovieClip = _root.createEmptyMovieClip("ices", _root.getNextHighestDepth()); var iceUse:Number = 1; var iceGiven:Number = 1; var iceReady:Boolean = true; var iceCooldown:Number = 0; var iceFloor:Number = 0; var iceRight:Number = 0; var iceWait:Number = 120; //music var doMute:Boolean = true; var firstMute:Number = mute_mc.getDepth(); mute_mc.swapDepths(_root.getNextHighestDepth()); if (snd) { mute_mc.gotoAndStop(1); } else { mute_mc.gotoAndStop(2); } var loop_snd:Sound = new Sound(this); var pauseTime:Number = 2000; var pause:Number; loop_snd.onSoundComplete = processPause; loop_snd.attachSound("music"); function loopSound() { clearInterval(pause); loop_snd.start(0,1); } function processPause() { trace("HAY"); pause = setInterval(loopSound, pauseTime); } if (snd) { loopSound(); } mute_btn.onPress = function() { if (snd) { pos = loop_snd.position / 1000; loop_snd.stop(); mute_mc.gotoAndStop(2); } else { loop_snd.start(pos); mute_mc.gotoAndStop(1); } snd = !snd; }; //pause var doPause:Boolean = true; var firstPause:Number = pause_mc.getDepth(); pause_mc.swapDepths(_root.getNextHighestDepth()); var paused:Boolean = false; pause_btn.onPress = function() { if (paused) { pause_mc.gotoAndStop(1); } else { pause_mc.gotoAndStop(2); } paused = !paused; };

//game over var over:Boolean = false; var score:Number = 0; var minTemp:Number = Infinity; //the Code for (var i:Number = 0; i < pID; i++) { var newPlat:MovieClip = platform.attachMovie("platform", "platform_" + i + "_mc", platform.getNextHighestDepth()); newPlat._x = i * 40; newPlat._y = 250; if (--nextFire == 0) { var newFire:MovieClip = platform.attachMovie("fire", "fire_" + pID + "_mc", platform.getNextHighestDepth()); nextFire = random(12) + 3; newFire._x = newPlat._x + 20; newFire._y = newPlat._y + 10; newFire.onEnterFrame = function() { if (paused) { return; } if (igeman_mc.hitTest(this._x + platform._x, this._y - 50, true)) { speed -= .4; } if (platform._x < -this._x - 80) { this.removeMovieClip(); } }; } newPlat.onEnterFrame = function() { if (paused) { return; } this.gotoAndStop(Math.max(1, (200 - (int(speed * 8))))); if (platform._x < -this._x - 80) { this.removeMovieClip(); } }; } onEnterFrame = function () { //mute if (Key.isDown(77)) { if (doMute) { mute_btn.onPress(); doMute = false; } } else { doMute = true; } //pause trace(doPause); if (Key.isDown(80)) { if (doPause) { pause_btn.onPress(); doPause = false; } } else { doPause = true; } if (paused) { return; } var currentTime:Number = (getTimer() - startTime) / 1000; frames++; if (currentTime > 1) { fps = Math.floor((frames / currentTime) * 10.0) / 10.0; startTime = getTimer(); frames = 0; } if (signal && igeman_mc._x - platform._x + 20 > plat_arr[0]) { floor = plat_arr[1]; plat_arr = plat_arr.slice(2); signal = !signal; realFloor = floor; } if (!signal && igeman_mc._x - platform._x - 20 > plat_arr[0]) { floor = 800; plat_arr = plat_arr.slice(1); signal = !signal; realFloor = floor; } if (igeman_mc._x - platform._x - 10 < iceRight) { floor = Math.min(realFloor, iceFloor); if (floor == iceFloor && !jump) { speedInc = 1.2; } else { speedInc = .2; } } else { speedInc = .2; floor = realFloor; } if (!over) { if (platform._x <= -pLeft + 550) { addPlatform(); pFall += pInc; } if (++speedTimer >= speedWait) { speedTimer = 0; speed += speedInc; } if (speed < minSpeed) { speed = minSpeed; } platform._x -= speed * 12 / 25; ices._x -= speed * 12 / 25; animFrame = (animFrame + speed * 25 / 120) % igeman_mc.run._totalframes; igeman_mc.run.gotoAndStop(int(animFrame)); if (!jump && floor > igeman_mc._y + 95 / 2) { fallSpeed = 0; jump = 1; } if (Key.isDown(Key.UP)) { if (jump == 0) { fallSpeed = -jumpSpeed; jump++; } if (doubleJump == true) { fallSpeed = -jumpSpeed; jump++; doubleJump = false; } } else if (jump == 1) { doubleJump = true; } if (floor + 1 < igeman_mc._y + 95 / 2) { over = true; ices.removeMovieClip(); } } if (jump || over) { igeman_mc._y += fallSpeed += gravity; if (igeman_mc._y > floor - 95 / 2 && !over) { jump = 0; doubleJump = false; igeman_mc._y = floor - 95 / 2; } } if (jump) { igeman_mc.gotoAndStop(2); animFrame = 25; } else { igeman_mc.gotoAndStop(1); } var dist:Number = Math.floor((-platform._x) / 50); //ice if (dist >= iceGiven * iceWait) { iceGiven++; iceUse++; } if (iceCooldown > 0) { iceCooldown--; } if (Key.isDown(Key.SPACE)) { if (iceReady && iceUse && !iceCooldown) { iceCooldown = 24; iceReady = false; iceUse--; iceRight = -platform._x + igeman_mc._x + 300; var newIce:MovieClip = ices.attachMovie("ice", "ice", ices.getNextHighestDepth()); newIce._x = -platform._x + igeman_mc._x; newIce._y = igeman_mc._y + 95 / 2; iceFloor = newIce._y; newIce.onEnterFrame = function() { if (paused) { return; } if (this._x < -300 - ices._x) { this.removeMovieClip(); } }; } } else { iceReady = true; } //ui //fps_txt.text = (Math.round(fps * 10) / 10); speed_txt.text = (Math.round(speed * 10) / 10); dist_txt.text = dist; special_txt.text = iceUse; special_mc._xscale = 100 - (iceGiven * iceWait - dist) / iceWait * 100; //temp_txt.text = (200 - (int(speed * 8))); var temp:Number = (200 - (int(speed * 8))); minTemp = Math.min(minTemp, temp); thermometer_mc.gotoAndStop(Math.max(1, temp)); bg_mc.gotoAndStop(Math.max(1, temp)); if (igeman_mc._y > 400) { over = true; loop_snd.stop(); platform.removeMovieClip(); ices.removeMovieClip(); score = dist * 25 + Math.pow(Math.min(Math.max(0, 144 - minTemp), 144), 2); mute_mc.swapDepths(firstMute); pause_mc.swapDepths(firstPause); nextFrame(); delete onEnterFrame; } }; function addPlatform() { var h:Number = random(150) + 200; var len:Number = random(10) + 1; var moving:Boolean = false; pLeft = pRight + pFall; pRight = pLeft + len * 40; plat_arr.push(pLeft); plat_arr.push(h); plat_arr.push(pRight); if (len > 4 && !(random(5))) { moving = true; } for (var i:Number = 0; i < len; i++) { var newPlat:MovieClip = platform.attachMovie("platform", "platform_" + pID + "_mc", platform.getNextHighestDepth()); newPlat._x = i * 40 + pLeft; newPlat._y = h; if (!moving && --nextFire == 0) { var newFire:MovieClip = platform.attachMovie("fire", "fire_" + pID + "_mc", platform.getNextHighestDepth()); nextFire = random(12) + 3; newFire._x = newPlat._x + 20; newFire._y = newPlat._y + 10; newFire.onEnterFrame = function() { if (paused) { return; } if (this.hitTest(ices)) { this.removeMovieClip(); } if (igeman_mc.hitTest(this._x + platform._x, this._y - 50, true)) { speed -= .4; } if (platform._x < -this._x - 80) { this.removeMovieClip(); } }; pID++; } newPlat.onEnterFrame = function() { if (paused) { return; } this.gotoAndStop(Math.max(1, (200 - (int(speed * 8))))); if (platform._x < -this._x - 80) { this.removeMovieClip(); } }; } if (moving) { var newFire:MovieClip = platform.attachMovie("fire", "fire_" + pID + "_mc", platform.getNextHighestDepth()); newFire._x = pLeft + random(len) * 40 + 20; newFire._y = h + 10; newFire.left = pLeft + 20; newFire.right = pRight - 20; newFire.speed = 2; newFire.onEnterFrame = function() { if (paused) { return; } if (this.hitTest(ices)) { this.removeMovieClip(); } if (this._x < this.left || this._x > this.right) { this.speed *= -1; } this._x += this.speed; if (igeman_mc.hitTest(this._x + platform._x, this._y - 50, true)) { speed -= .4; } if (platform._x < -this._x - pRight + pLeft - 80) { this.removeMovieClip(); } }; } } <forum_subtle/>