Team:AUC TURKEY/HumanPractices/FlashGame

From 2013hs.igem.org

(Difference between revisions)
(Created page with "{{AUC_Turkey}} <forum_subtle/>")
Line 1: Line 1:
{{AUC_Turkey}}
{{AUC_Turkey}}
 +
 +
==Flash Game==
 +
<html>
 +
<center>
 +
<embed src="https://static.igem.org/mediawiki/2012hs/3/39/TheLastOfTheFreshEcolis.swf" width="550" height="400" />
 +
</center>
 +
<br/>
 +
<div style="margin:20px; margin-top:5px">
 +
<div class="smallfont" style="margin-bottom:2px">Here's the <b>source code</b> of the game if you're interested:<input type="button" value="Click" style="width:45px;font-size:10px;margin:0px;padding:0px;" onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = '';} else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = '';}">
 +
</div>
 +
<div class="alt2" style="margin: 0px; padding: 6px; border: 1px inset;">
 +
<div style="display: none;">
 +
<pre>
 +
//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()
 +
{
 +
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
 +
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();
 +
}
 +
};
 +
}
 +
}
 +
</pre>
 +
</div>
 +
</div>
 +
</div>
 +
</html>
<forum_subtle/>
<forum_subtle/>

Revision as of 07:05, 12 June 2013



Flash Game


Here's the source code of the game if you're interested:
//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()
{
	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
	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/>