Section 1
//BitmapAsset (mx.core.BitmapAsset)
package mx.core {
import flash.display.*;
public class BitmapAsset extends FlexBitmap implements IFlexAsset, IFlexDisplayObject {
mx_internal static const VERSION:String = "3.0.0.0";
public function BitmapAsset(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
public function get measuredWidth():Number{
if (bitmapData){
return (bitmapData.width);
};
return (0);
}
public function get measuredHeight():Number{
if (bitmapData){
return (bitmapData.height);
};
return (0);
}
public function setActualSize(_arg1:Number, _arg2:Number):void{
width = _arg1;
height = _arg2;
}
public function move(_arg1:Number, _arg2:Number):void{
this.x = _arg1;
this.y = _arg2;
}
}
}//package mx.core
Section 2
//FlexBitmap (mx.core.FlexBitmap)
package mx.core {
import flash.display.*;
import mx.utils.*;
public class FlexBitmap extends Bitmap {
mx_internal static const VERSION:String = "3.0.0.0";
public function FlexBitmap(_arg1:BitmapData=null, _arg2:String="auto", _arg3:Boolean=false){
var bitmapData = _arg1;
var pixelSnapping = _arg2;
var smoothing = _arg3;
super(bitmapData, pixelSnapping, smoothing);
try {
name = NameUtil.createUniqueName(this);
} catch(e:Error) {
};
}
override public function toString():String{
return (NameUtil.displayObjectToString(this));
}
}
}//package mx.core
Section 3
//IFlexAsset (mx.core.IFlexAsset)
package mx.core {
public interface IFlexAsset {
}
}//package mx.core
Section 4
//IFlexDisplayObject (mx.core.IFlexDisplayObject)
package mx.core {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.accessibility.*;
public interface IFlexDisplayObject extends IBitmapDrawable, IEventDispatcher {
function get visible():Boolean;
function get rotation():Number;
function localToGlobal(_arg1:Point):Point;
function get name():String;
function set width(_arg1:Number):void;
function get measuredHeight():Number;
function get blendMode():String;
function get scale9Grid():Rectangle;
function set name(_arg1:String):void;
function set scaleX(_arg1:Number):void;
function set scaleY(_arg1:Number):void;
function get measuredWidth():Number;
function get accessibilityProperties():AccessibilityProperties;
function set scrollRect(_arg1:Rectangle):void;
function get cacheAsBitmap():Boolean;
function globalToLocal(_arg1:Point):Point;
function get height():Number;
function set blendMode(_arg1:String):void;
function get parent():DisplayObjectContainer;
function getBounds(_arg1:DisplayObject):Rectangle;
function get opaqueBackground():Object;
function set scale9Grid(_arg1:Rectangle):void;
function setActualSize(_arg1:Number, _arg2:Number):void;
function set alpha(_arg1:Number):void;
function set accessibilityProperties(_arg1:AccessibilityProperties):void;
function get width():Number;
function hitTestPoint(_arg1:Number, _arg2:Number, _arg3:Boolean=false):Boolean;
function set cacheAsBitmap(_arg1:Boolean):void;
function get scaleX():Number;
function get scaleY():Number;
function get scrollRect():Rectangle;
function get mouseX():Number;
function get mouseY():Number;
function set height(_arg1:Number):void;
function set mask(_arg1:DisplayObject):void;
function getRect(_arg1:DisplayObject):Rectangle;
function get alpha():Number;
function set transform(_arg1:Transform):void;
function move(_arg1:Number, _arg2:Number):void;
function get loaderInfo():LoaderInfo;
function get root():DisplayObject;
function hitTestObject(_arg1:DisplayObject):Boolean;
function set opaqueBackground(_arg1:Object):void;
function set visible(_arg1:Boolean):void;
function get mask():DisplayObject;
function set x(_arg1:Number):void;
function set y(_arg1:Number):void;
function get transform():Transform;
function set filters(_arg1:Array):void;
function get x():Number;
function get y():Number;
function get filters():Array;
function set rotation(_arg1:Number):void;
function get stage():Stage;
}
}//package mx.core
Section 5
//IRepeaterClient (mx.core.IRepeaterClient)
package mx.core {
public interface IRepeaterClient {
function get instanceIndices():Array;
function set instanceIndices(_arg1:Array):void;
function get isDocument():Boolean;
function set repeaters(_arg1:Array):void;
function initializeRepeaterArrays(_arg1:IRepeaterClient):void;
function get repeaters():Array;
function set repeaterIndices(_arg1:Array):void;
function get repeaterIndices():Array;
}
}//package mx.core
Section 6
//mx_internal (mx.core.mx_internal)
package mx.core {
public namespace mx_internal = "http://www.adobe.com/2006/flex/mx/internal";
}//package mx.core
Section 7
//SoundAsset (mx.core.SoundAsset)
package mx.core {
import flash.media.*;
public class SoundAsset extends Sound implements IFlexAsset {
mx_internal static const VERSION:String = "3.0.0.0";
}
}//package mx.core
Section 8
//NameUtil (mx.utils.NameUtil)
package mx.utils {
import flash.display.*;
import mx.core.*;
import flash.utils.*;
public class NameUtil {
mx_internal static const VERSION:String = "3.0.0.0";
private static var counter:int = 0;
public static function displayObjectToString(_arg1:DisplayObject):String{
var _local2:String;
var _local4:String;
var _local5:Array;
var _local3:DisplayObject = _arg1;
while (_local3 != null) {
if (((((_local3.parent) && (_local3.stage))) && ((_local3.parent == _local3.stage)))){
break;
};
_local4 = _local3.name;
if ((_local3 is IRepeaterClient)){
_local5 = IRepeaterClient(_local3).instanceIndices;
if (_local5){
_local4 = (_local4 + (("[" + _local5.join("][")) + "]"));
};
};
_local2 = ((_local2 == null)) ? _local4 : ((_local4 + ".") + _local2);
_local3 = _local3.parent;
};
return (_local2);
}
public static function createUniqueName(_arg1:Object):String{
if (!_arg1){
return (null);
};
var _local2:String = getQualifiedClassName(_arg1);
var _local3:int = _local2.indexOf("::");
if (_local3 != -1){
_local2 = _local2.substr((_local3 + 2));
};
var _local4:int = _local2.charCodeAt((_local2.length - 1));
if ((((_local4 >= 48)) && ((_local4 <= 57)))){
_local2 = (_local2 + "_");
};
return ((_local2 + counter++));
}
}
}//package mx.utils
Section 9
//AttractBoard (AttractBoard)
package {
import flash.display.*;
import flash.geom.*;
import mx.core.*;
public class AttractBoard extends Board {
public var age:Number;// = 0
public static var intro:BitmapData = introAsset.bitmapData;
public static var introAsset:BitmapAsset = BitmapAsset(new introClass());
public static var introClass:Class = AttractBoard_introClass;
public function AttractBoard(_arg1:Message){
super(_arg1);
}
override public function update(_arg1:Number):void{
age = (age + _arg1);
}
override public function mouseDown():void{
game.board = new GameBoard(game);
}
override public function draw():void{
game.screen.copyPixels(intro, intro.rect, new Point(0, 0));
}
}
}//package
Section 10
//AttractBoard_introClass (AttractBoard_introClass)
package {
import mx.core.*;
public class AttractBoard_introClass extends BitmapAsset {
}
}//package
Section 11
//Board (Board)
package {
public class Board {
public var game:Message;
public function Board(_arg1:Message){
game = _arg1;
}
public function keyDown(_arg1:uint):void{
}
public function mouseDown():void{
}
public function update(_arg1:Number):void{
}
public function randomizeNotify():void{
}
public function draw():void{
}
public function keyUp(_arg1:uint):void{
}
}
}//package
Section 12
//FrameTimer (FrameTimer)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
public class FrameTimer {
private var messageBitmapData:BitmapData;
private var messageTextField:TextField;
public var messagePoint:Point;
public var messageRect:Rectangle;
public var framesCounted:int;// = 0
private var messageText:String;
private var format:TextFormat;
public var frameTimer:Timer;
public var y:int;
public var x:int;
public function FrameTimer(_arg1:int, _arg2:int, _arg3:Sprite):void{
format = new TextFormat();
messageTextField = new TextField();
super();
x = _arg1;
y = _arg2;
format.size = 12;
format.font = "Arial";
format.color = "0xffffff";
format.bold = true;
messageText = "0";
messageTextField.text = messageText;
messageTextField.setTextFormat(format);
messageTextField.x = _arg1;
messageTextField.y = _arg2;
messageTextField.width = 30;
messageTextField.height = 20;
messageBitmapData = new BitmapData(messageTextField.width, messageTextField.height, true, 4294901760);
frameTimer = new Timer(1000, 0);
frameTimer.addEventListener(TimerEvent.TIMER, frameCounter, false, 0, true);
frameTimer.start();
messagePoint = new Point(x, y);
messageRect = new Rectangle(0, 0, messageTextField.width, messageTextField.height);
_arg3.addChild(messageTextField);
}
public function countFrames():void{
framesCounted++;
}
public function render():void{
}
public function frameCounter(_arg1:TimerEvent):void{
messageText = framesCounted.toString();
messageTextField.text = messageText;
messageTextField.setTextFormat(format);
framesCounted = 0;
}
}
}//package
Section 13
//GameBoard (GameBoard)
package {
import flash.display.*;
import flash.geom.*;
import mx.core.*;
import flash.media.*;
public class GameBoard extends Board {
public var jumping:Boolean;// = false
public var level:int;
public var facingLeft:Boolean;// = false
public var JumpClass:Class;
public var Jump:Sound;
public var starts:Array;
public var MarioOverworld:Sound;
public var tunes:Array;
public var dy:Number;// = 0
public var MarioUnderground:Sound;
public var MarioUndergroundClass:Class;
public var MarioOverworldClass:Class;
public var DiscoWooClass:Class;
public var dx:Number;// = 0
public var DiscoWoo:Sound;
public var mx:Number;// = 0
public var my:Number;// = 0
public var collision:Array;
public var runCycle:Number;// = 0
public var winZone:Array;
public var tune:SoundChannel;
public var End:Sound;
public var EndClass:Class;
public var age:Number;// = 0
public static var run3LeftAsset:BitmapAsset = BitmapAsset(new run3LeftClass());
public static var bg3Asset:BitmapAsset = BitmapAsset(new bg3Class());
public static var run3Right:BitmapData = run3RightAsset.bitmapData;
public static var skidRightAsset:BitmapAsset = BitmapAsset(new skidRightClass());
public static var run3LeftClass:Class = GameBoard_run3LeftClass;
public static var bg3Class:Class = GameBoard_bg3Class;
public static var bg1:BitmapData = bg1Asset.bitmapData;
public static var bg2:BitmapData = bg2Asset.bitmapData;
public static var bg3:BitmapData = bg3Asset.bitmapData;
public static var skidRightClass:Class = GameBoard_skidRightClass;
public static var staticLeft:BitmapData = staticLeftAsset.bitmapData;
public static var jumpRightClass:Class = GameBoard_jumpRightClass;
public static var jumpLeftAsset:BitmapAsset = BitmapAsset(new jumpLeftClass());
public static var jumpRight:BitmapData = jumpRightAsset.bitmapData;
public static var skidLeft:BitmapData = skidLeftAsset.bitmapData;
public static var jumpLeftClass:Class = GameBoard_jumpLeftClass;
public static var jumpRightAsset:BitmapAsset = BitmapAsset(new jumpRightClass());
public static var runRightImages:Array = [run2Right, run3Right, run1Right, run3Right];
public static var run1Left:BitmapData = run1LeftAsset.bitmapData;
public static var background:BitmapData = backgroundAsset.bitmapData;
public static var run3Left:BitmapData = run3LeftAsset.bitmapData;
public static var run3RightAsset:BitmapAsset = BitmapAsset(new run3RightClass());
public static var run2RightClass:Class = GameBoard_run2RightClass;
public static var run2RightAsset:BitmapAsset = BitmapAsset(new run2RightClass());
public static var run2Left:BitmapData = run2LeftAsset.bitmapData;
public static var run3RightClass:Class = GameBoard_run3RightClass;
public static var staticRightAsset:BitmapAsset = BitmapAsset(new staticRightClass());
public static var run1LeftAsset:BitmapAsset = BitmapAsset(new run1LeftClass());
public static var run1Right:BitmapData = run1RightAsset.bitmapData;
public static var staticRightClass:Class = GameBoard_staticRightClass;
public static var bg1Asset:BitmapAsset = BitmapAsset(new bg1Class());
public static var bg1Class:Class = GameBoard_bg1Class;
public static var runLeftImages:Array = [run2Left, run3Left, run1Left, run3Left];
public static var run1LeftClass:Class = GameBoard_run1LeftClass;
public static var jumpLeft:BitmapData = jumpLeftAsset.bitmapData;
public static var staticRight:BitmapData = staticRightAsset.bitmapData;
public static var run1RightAsset:BitmapAsset = BitmapAsset(new run1RightClass());
public static var backgroundAsset:BitmapAsset = BitmapAsset(new backgroundClass());
public static var bg2Asset:BitmapAsset = BitmapAsset(new bg2Class());
public static var run2Right:BitmapData = run2RightAsset.bitmapData;
public static var run2LeftAsset:BitmapAsset = BitmapAsset(new run2LeftClass());
public static var backgroundClass:Class = GameBoard_backgroundClass;
public static var bg2Class:Class = GameBoard_bg2Class;
public static var skidRight:BitmapData = skidRightAsset.bitmapData;
public static var run2LeftClass:Class = GameBoard_run2LeftClass;
public static var staticLeftClass:Class = GameBoard_staticLeftClass;
public static var staticLeftAsset:BitmapAsset = BitmapAsset(new staticLeftClass());
public static var skidLeftAsset:BitmapAsset = BitmapAsset(new skidLeftClass());
public static var run1RightClass:Class = GameBoard_run1RightClass;
public static var skidLeftClass:Class = GameBoard_skidLeftClass;
public function GameBoard(_arg1:Message, _arg2:int=0){
MarioOverworldClass = GameBoard_MarioOverworldClass;
MarioOverworld = Sound(new MarioOverworldClass());
MarioUndergroundClass = GameBoard_MarioUndergroundClass;
MarioUnderground = Sound(new MarioUndergroundClass());
DiscoWooClass = GameBoard_DiscoWooClass;
DiscoWoo = Sound(new DiscoWooClass());
EndClass = GameBoard_EndClass;
End = Sound(new EndClass());
JumpClass = GameBoard_JumpClass;
Jump = Sound(new JumpClass());
collision = [[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0], [1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0], [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]], [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]];
winZone = [[14, 10, 1, 3], [10, 6, 1, 1], [1, 4, 1, 1], [9, 10, 1, 2]];
starts = [[1, 13], [2, 0], [2, 13], [1, 11]];
tunes = [MarioOverworld, MarioUnderground, DiscoWoo, End];
super(_arg1);
level = _arg2;
dx = 0;
dy = 0;
mx = (starts[level][0] * 16);
my = (starts[level][1] * 16);
var _local3 = 100;
if (level == 3){
_local3 = 0;
};
tune = tunes[level].play(0, _local3);
}
override public function update(_arg1:Number):void{
age = (age + _arg1);
if (((((game.readKey(38)) || (game.readKey(32)))) && ((dy < 0)))){
dy = (dy + (_arg1 * 0.0325));
} else {
dy = (dy + (_arg1 * 0.075));
};
if (((game.readKey(37)) && (!(game.readKey(39))))){
dx = Math.max(-1.5, (dx - (0.025 * _arg1)));
} else {
if (((game.readKey(39)) && (!(game.readKey(37))))){
dx = Math.min(1.5, (dx + (0.025 * _arg1)));
} else {
if (dx < 0){
dx = Math.min(0, (dx + (0.01 * _arg1)));
} else {
dx = Math.max(0, (dx - (0.01 * _arg1)));
};
};
};
if (dx == 0){
runCycle = 0;
} else {
runCycle = ((runCycle + (((Math.abs(dx) + 0.5) * _arg1) * 0.025)) % 1);
};
my = (my + (dy * _arg1));
my = Math.min((223 - 16), Math.max(0, my));
jumping = true;
if (dy > 0){
if (((collision[level][(Math.floor(((my - 1) / 16)) + 1)][Math.floor(((mx + 2) / 16))]) || (collision[level][(Math.floor(((my - 1) / 16)) + 1)][(Math.floor(((mx - 2) / 16)) + 1)]))){
jumping = false;
my = ((Math.floor((my / 16)) * 16) + 1);
dy = 0;
};
} else {
if (((collision[level][Math.floor(((my + 2) / 16))][Math.floor(((mx + 2) / 16))]) || (collision[level][Math.floor(((my + 2) / 16))][(Math.floor(((mx - 2) / 16)) + 1)]))){
my = ((Math.floor(((my / 16) + 1)) * 16) - 2);
dy = 0;
};
};
mx = (mx + (dx * _arg1));
if (mx < 0){
mx = 0;
dx = 0;
};
if (mx > (0xFF - 16)){
mx = (0xFF - 16);
dx = 0;
};
if (dx > 0){
if (((collision[level][Math.floor(((my + 2) / 16))][((Math.floor(mx) / 16) + 1)]) || (collision[level][(Math.floor(((my - 2) / 16)) + 1)][(Math.floor((mx / 16)) + 1)]))){
mx = (int((mx / 16)) * 16);
dx = 0;
};
} else {
if (((collision[level][Math.floor(((my + 2) / 16))][(Math.floor(mx) / 16)]) || (collision[level][(Math.floor(((my - 2) / 16)) + 1)][Math.floor((mx / 16))]))){
mx = (int(((mx / 16) + 1)) * 16);
dx = 0;
};
};
if (((!(jumping)) && (((game.readKey(38)) || (game.readKey(32)))))){
dy = -2.1001;
Jump.play();
};
if (dx < 0){
facingLeft = true;
} else {
if (dx > 0){
facingLeft = false;
};
};
if ((((((((((mx / 16) + 0.2) <= (winZone[level][0] + winZone[level][2]))) && (((((mx / 16) + 1) - 0.2) >= winZone[level][0])))) && ((((my / 16) + 0.2) <= (winZone[level][1] + winZone[level][3]))))) && (((((my / 16) + 1) - 0.2) >= winZone[level][1])))){
tune.stop();
if (level <= 2){
game.board = new QuitBoard(game, (level + 1));
} else {
game.board = new TeamBoard(game);
};
};
}
override public function draw():void{
var _local1:BitmapData;
if (level == 0){
_local1 = background;
} else {
if (level == 1){
_local1 = bg1;
} else {
if (level == 2){
_local1 = bg2;
} else {
_local1 = bg3;
};
};
};
game.screen.copyPixels(_local1, background.rect, new Point(0, 0));
var _local2:BitmapData;
if (facingLeft){
if (jumping){
if (game.readKey(39)){
_local2 = jumpRight;
} else {
_local2 = jumpLeft;
};
} else {
if ((((Math.abs(dx) > 0.25)) && (game.readKey(39)))){
_local2 = skidLeft;
} else {
if (game.readKey(39)){
_local2 = runRightImages[int((runCycle * 4))];
} else {
if (dx == 0){
_local2 = staticLeft;
} else {
_local2 = runLeftImages[int((runCycle * 4))];
};
};
};
};
} else {
if (jumping){
if (game.readKey(37)){
_local2 = jumpLeft;
} else {
_local2 = jumpRight;
};
} else {
if ((((Math.abs(dx) > 0.25)) && (game.readKey(37)))){
_local2 = skidRight;
} else {
if (game.readKey(37)){
_local2 = runLeftImages[int((runCycle * 4))];
} else {
if (dx == 0){
_local2 = staticRight;
} else {
_local2 = runRightImages[int((runCycle * 4))];
};
};
};
};
};
if (_local2 != null){
game.screen.copyPixels(_local2, _local2.rect, new Point(int(mx), int(my)));
};
}
}
}//package
Section 14
//GameBoard_backgroundClass (GameBoard_backgroundClass)
package {
import mx.core.*;
public class GameBoard_backgroundClass extends BitmapAsset {
}
}//package
Section 15
//GameBoard_bg1Class (GameBoard_bg1Class)
package {
import mx.core.*;
public class GameBoard_bg1Class extends BitmapAsset {
}
}//package
Section 16
//GameBoard_bg2Class (GameBoard_bg2Class)
package {
import mx.core.*;
public class GameBoard_bg2Class extends BitmapAsset {
}
}//package
Section 17
//GameBoard_bg3Class (GameBoard_bg3Class)
package {
import mx.core.*;
public class GameBoard_bg3Class extends BitmapAsset {
}
}//package
Section 18
//GameBoard_DiscoWooClass (GameBoard_DiscoWooClass)
package {
import mx.core.*;
public class GameBoard_DiscoWooClass extends SoundAsset {
}
}//package
Section 19
//GameBoard_EndClass (GameBoard_EndClass)
package {
import mx.core.*;
public class GameBoard_EndClass extends SoundAsset {
}
}//package
Section 20
//GameBoard_JumpClass (GameBoard_JumpClass)
package {
import mx.core.*;
public class GameBoard_JumpClass extends SoundAsset {
}
}//package
Section 21
//GameBoard_jumpLeftClass (GameBoard_jumpLeftClass)
package {
import mx.core.*;
public class GameBoard_jumpLeftClass extends BitmapAsset {
}
}//package
Section 22
//GameBoard_jumpRightClass (GameBoard_jumpRightClass)
package {
import mx.core.*;
public class GameBoard_jumpRightClass extends BitmapAsset {
}
}//package
Section 23
//GameBoard_MarioOverworldClass (GameBoard_MarioOverworldClass)
package {
import mx.core.*;
public class GameBoard_MarioOverworldClass extends SoundAsset {
}
}//package
Section 24
//GameBoard_MarioUndergroundClass (GameBoard_MarioUndergroundClass)
package {
import mx.core.*;
public class GameBoard_MarioUndergroundClass extends SoundAsset {
}
}//package
Section 25
//GameBoard_run1LeftClass (GameBoard_run1LeftClass)
package {
import mx.core.*;
public class GameBoard_run1LeftClass extends BitmapAsset {
}
}//package
Section 26
//GameBoard_run1RightClass (GameBoard_run1RightClass)
package {
import mx.core.*;
public class GameBoard_run1RightClass extends BitmapAsset {
}
}//package
Section 27
//GameBoard_run2LeftClass (GameBoard_run2LeftClass)
package {
import mx.core.*;
public class GameBoard_run2LeftClass extends BitmapAsset {
}
}//package
Section 28
//GameBoard_run2RightClass (GameBoard_run2RightClass)
package {
import mx.core.*;
public class GameBoard_run2RightClass extends BitmapAsset {
}
}//package
Section 29
//GameBoard_run3LeftClass (GameBoard_run3LeftClass)
package {
import mx.core.*;
public class GameBoard_run3LeftClass extends BitmapAsset {
}
}//package
Section 30
//GameBoard_run3RightClass (GameBoard_run3RightClass)
package {
import mx.core.*;
public class GameBoard_run3RightClass extends BitmapAsset {
}
}//package
Section 31
//GameBoard_skidLeftClass (GameBoard_skidLeftClass)
package {
import mx.core.*;
public class GameBoard_skidLeftClass extends BitmapAsset {
}
}//package
Section 32
//GameBoard_skidRightClass (GameBoard_skidRightClass)
package {
import mx.core.*;
public class GameBoard_skidRightClass extends BitmapAsset {
}
}//package
Section 33
//GameBoard_staticLeftClass (GameBoard_staticLeftClass)
package {
import mx.core.*;
public class GameBoard_staticLeftClass extends BitmapAsset {
}
}//package
Section 34
//GameBoard_staticRightClass (GameBoard_staticRightClass)
package {
import mx.core.*;
public class GameBoard_staticRightClass extends BitmapAsset {
}
}//package
Section 35
//Message (Message)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
import mx.core.*;
import flash.media.*;
import flash.utils.*;
public class Message extends Sprite {
public var time:int;
public var frameTimer:FrameTimer;
public var fontCorrupted:Boolean;
public var frameCount:int;
public var board:Board;
public var screen:BitmapData;
public var borkedSoundTimeRemaining:Number;
public var keys:Array;
public var gameSpeed:Number;
public var borkedSoundChannel:SoundChannel;
public static var fontAsset:BitmapAsset = BitmapAsset(new fontClass());
public static var borkedSoundClass:Class = Message_borkedSoundClass;
public static var borkedSound:Sound = Sound(new borkedSoundClass());
public static var fontClass:Class = Message_fontClass;
public static var font:BitmapData = fontAsset.bitmapData;
public function Message(){
keys = new Array();
fontCorrupted = false;
cacheAsBitmap = true;
screen = new BitmapData(0x0100, 224, false, 0);
var _local1:Bitmap = new Bitmap(screen);
addChild(_local1);
time = getTimer();
frameCount = 0;
if (stage == null){
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
} else {
onAddedToStage();
};
board = new AttractBoard(this);
}
public function playBorked(_arg1:Number=1):void{
var _local2:Number = Math.max((Math.random() * (borkedSound.length - (_arg1 * 1000))), 0);
borkedSoundChannel = borkedSound.play(_local2);
borkedSoundTimeRemaining = _arg1;
}
public function onKeyDown(_arg1:KeyboardEvent):void{
if (((!(keys.hasOwnProperty(String(_arg1.keyCode)))) || ((keys[_arg1.keyCode] == false)))){
keys[_arg1.keyCode] = true;
};
if (board){
board.keyDown(_arg1.keyCode);
};
}
public function onMouseDown(_arg1:MouseEvent):void{
if (board){
board.mouseDown();
};
}
public function update(_arg1:Event):void{
var _local2:Number = ((getTimer() - time) * 0.1);
time = getTimer();
frameCount = (frameCount + 1);
if (borkedSoundChannel){
borkedSoundTimeRemaining = (borkedSoundTimeRemaining - (_local2 * 0.01));
if (borkedSoundTimeRemaining <= 0){
borkedSoundChannel.stop();
borkedSoundChannel = null;
};
};
if (board){
board.update(_local2);
screen.lock();
board.draw();
screen.unlock();
};
if (frameTimer != null){
frameTimer.countFrames();
frameTimer.render();
};
}
public function drawBitmap(_arg1:BitmapData, _arg2:int, _arg3:int):void{
screen.copyPixels(_arg1, _arg1.rect, new Point(_arg2, _arg3), null, null, true);
}
public function onAddedToStage(_arg1:Event=null):void{
if ((((_arg1 == null)) || ((_arg1.target == this)))){
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
};
addEventListener(Event.ENTER_FRAME, update, false, 0, true);
}
public function readKey(_arg1:int):Boolean{
return (((keys.hasOwnProperty(String(_arg1))) && (keys[_arg1])));
}
public function onKeyUp(_arg1:KeyboardEvent):void{
keys[_arg1.keyCode] = false;
if (board){
board.keyUp(_arg1.keyCode);
};
}
public function drawString(_arg1:String, _arg2:int, _arg3:int):void{
var _local5:int;
var _local4:int;
while (_local4 < _arg1.length) {
_local5 = _arg1.charCodeAt(_local4);
screen.copyPixels(font, new Rectangle(((_local5 - 33) * 8), 0, 8, 8), new Point((_arg2 + (_local4 * 8)), (_arg3 - 8)), null, null, true);
_local4++;
};
}
}
}//package
Section 36
//Message_borkedSoundClass (Message_borkedSoundClass)
package {
import mx.core.*;
public class Message_borkedSoundClass extends SoundAsset {
}
}//package
Section 37
//Message_fontClass (Message_fontClass)
package {
import mx.core.*;
public class Message_fontClass extends BitmapAsset {
}
}//package
Section 38
//QuitBoard (QuitBoard)
package {
import flash.display.*;
import flash.geom.*;
import mx.core.*;
import flash.media.*;
public class QuitBoard extends Board {
public var StarManClass:Class;
public var level:int;
public var StarMan:Sound;
public var age:Number;// = 0
public static var quitAsset:BitmapAsset = BitmapAsset(new quitClass());
public static var quitClass:Class = QuitBoard_quitClass;
public static var quit:BitmapData = quitAsset.bitmapData;
public function QuitBoard(_arg1:Message, _arg2:int){
StarManClass = QuitBoard_StarManClass;
StarMan = Sound(new StarManClass());
super(_arg1);
level = _arg2;
StarMan.play();
}
override public function update(_arg1:Number):void{
age = (age + _arg1);
if (age > 320){
game.board = new GameBoard(game, level);
};
}
override public function draw():void{
var _local1:int;
var _local2:int;
var _local3:int;
if (Math.random() < 0.3333){
if (Math.random() < 0.5){
_local1 = 0xFF;
_local2 = (Math.random() * 0xFF);
_local3 = 0;
} else {
_local1 = 0xFF;
_local3 = (Math.random() * 0xFF);
_local2 = 0;
};
} else {
if (Math.random() < 0.5){
if (Math.random() < 0.5){
_local3 = 0xFF;
_local2 = (Math.random() * 0xFF);
_local1 = 0;
} else {
_local3 = 0xFF;
_local1 = (Math.random() * 0xFF);
_local2 = 0;
};
} else {
if (Math.random() < 0.5){
_local2 = 0xFF;
_local1 = (Math.random() * 0xFF);
_local3 = 0;
} else {
_local2 = 0xFF;
_local3 = (Math.random() * 0xFF);
_local1 = 0;
};
};
};
game.screen.fillRect(game.screen.rect, (((_local1 * 65536) + (_local2 * 0x0100)) + _local3));
game.screen.copyPixels(quit, quit.rect, new Point(((int(((Math.random() * 10) - 5)) - (quit.rect.width / 2)) + 128), ((112 - (quit.rect.height / 2)) + int(((Math.random() * 6) - 3)))));
}
}
}//package
Section 39
//QuitBoard_quitClass (QuitBoard_quitClass)
package {
import mx.core.*;
public class QuitBoard_quitClass extends BitmapAsset {
}
}//package
Section 40
//QuitBoard_StarManClass (QuitBoard_StarManClass)
package {
import mx.core.*;
public class QuitBoard_StarManClass extends SoundAsset {
}
}//package
Section 41
//TeamBoard (TeamBoard)
package {
import flash.display.*;
import flash.geom.*;
import mx.core.*;
import flash.media.*;
public class TeamBoard extends Board {
public var tx:Array;
public var DanceClass:Class;
public var CrowdLoopClass:Class;
public var CrowdLoop:Sound;
public var Dance:Sound;
public var ty:Array;
public var teams:Array;
public var tn:Array;
public var tp:Array;
public var age:Number;// = 0
public static var team2Class:Class = TeamBoard_team2Class;
public static var teamAsset:BitmapAsset = BitmapAsset(new teamClass());
public static var team7Asset:BitmapAsset = BitmapAsset(new team7Class());
public static var team3Asset:BitmapAsset = BitmapAsset(new team3Class());
public static var teamClass:Class = TeamBoard_teamClass;
public static var team2Asset:BitmapAsset = BitmapAsset(new team2Class());
public static var team7Class:Class = TeamBoard_team7Class;
public static var team8:BitmapData = team8Asset.bitmapData;
public static var team3Class:Class = TeamBoard_team3Class;
public static var team8Asset:BitmapAsset = BitmapAsset(new team8Class());
public static var team4Asset:BitmapAsset = BitmapAsset(new team4Class());
public static var team8Class:Class = TeamBoard_team8Class;
public static var team4Class:Class = TeamBoard_team4Class;
public static var team5Asset:BitmapAsset = BitmapAsset(new team5Class());
public static var team1Asset:BitmapAsset = BitmapAsset(new team1Class());
public static var team:BitmapData = teamAsset.bitmapData;
public static var team5Class:Class = TeamBoard_team5Class;
public static var team1Class:Class = TeamBoard_team1Class;
public static var team1:BitmapData = team1Asset.bitmapData;
public static var team6Asset:BitmapAsset = BitmapAsset(new team6Class());
public static var team5:BitmapData = team5Asset.bitmapData;
public static var team6:BitmapData = team6Asset.bitmapData;
public static var team7:BitmapData = team7Asset.bitmapData;
public static var team2:BitmapData = team2Asset.bitmapData;
public static var team3:BitmapData = team3Asset.bitmapData;
public static var team4:BitmapData = team4Asset.bitmapData;
public static var team6Class:Class = TeamBoard_team6Class;
public function TeamBoard(_arg1:Message){
var _local3:int;
CrowdLoopClass = TeamBoard_CrowdLoopClass;
CrowdLoop = Sound(new CrowdLoopClass());
DanceClass = TeamBoard_DanceClass;
Dance = Sound(new DanceClass());
teams = [team1, team2, team3, team4, team5, team6, team7, team8];
super(_arg1);
tx = new Array();
ty = new Array();
tn = new Array();
tp = new Array();
var _local2 = -32;
while (_local2 < 224) {
_local3 = -32;
while (_local3 < 0x0100) {
tx.push(((Math.random() * 48) + _local3));
ty.push((((Math.random() * 16) + 80) + _local2));
tn.push(int((Math.random() * teams.length)));
tp.push(((Math.random() * Math.PI) * 2));
_local3 = (_local3 + 48);
};
_local2 = (_local2 + 16);
};
CrowdLoop.play(0, 100000);
Dance.play(0, 100000);
}
override public function update(_arg1:Number):void{
age = (age + _arg1);
}
override public function draw():void{
var _local5:BitmapData;
game.screen.fillRect(game.screen.rect, 0x3D3D3D);
var _local1:int;
while (_local1 < tn.length) {
_local5 = teams[tn[_local1]];
game.screen.copyPixels(_local5, _local5.rect, new Point(tx[_local1], ((ty[_local1] - _local5.rect.height) - Math.abs(((Math.sin((((age * Math.PI) * 0.02) + (Math.sin(((age * 0.011231) + tp[_local1])) * 0.25))) * _local5.rect.height) * 0.5)))));
_local1++;
};
game.screen.copyPixels(team, team.rect, new Point(((int(((Math.random() * 10) - 5)) - (team.rect.width / 2)) + 128), ((112 - (team.rect.height / 2)) + int(((Math.random() * 6) - 3)))));
var _local2:Number = 0;
var _local3:Number = 0;
var _local4:Number = 0;
if (Math.random() < 0.3333){
if (Math.random() < 0.5){
_local2 = 1;
_local3 = Math.random();
_local4 = 0;
} else {
_local2 = 1;
_local4 = Math.random();
_local3 = 0;
};
} else {
if (Math.random() < 0.5){
if (Math.random() < 0.5){
_local4 = 1;
_local3 = Math.random();
_local2 = 0;
} else {
_local4 = 1;
_local2 = Math.random();
_local3 = 0;
};
} else {
if (Math.random() < 0.5){
_local3 = 1;
_local2 = Math.random();
_local4 = 0;
} else {
_local3 = 1;
_local4 = Math.random();
_local2 = 0;
};
};
};
game.screen.colorTransform(game.screen.rect, new ColorTransform(_local2, _local3, _local4));
game.screen.copyPixels(team, team.rect, new Point(((int(((Math.random() * 10) - 5)) - (team.rect.width / 2)) + 128), ((112 - (team.rect.height / 2)) + int(((Math.random() * 6) - 3)))));
}
}
}//package
Section 42
//TeamBoard_CrowdLoopClass (TeamBoard_CrowdLoopClass)
package {
import mx.core.*;
public class TeamBoard_CrowdLoopClass extends SoundAsset {
}
}//package
Section 43
//TeamBoard_DanceClass (TeamBoard_DanceClass)
package {
import mx.core.*;
public class TeamBoard_DanceClass extends SoundAsset {
}
}//package
Section 44
//TeamBoard_team1Class (TeamBoard_team1Class)
package {
import mx.core.*;
public class TeamBoard_team1Class extends BitmapAsset {
}
}//package
Section 45
//TeamBoard_team2Class (TeamBoard_team2Class)
package {
import mx.core.*;
public class TeamBoard_team2Class extends BitmapAsset {
}
}//package
Section 46
//TeamBoard_team3Class (TeamBoard_team3Class)
package {
import mx.core.*;
public class TeamBoard_team3Class extends BitmapAsset {
}
}//package
Section 47
//TeamBoard_team4Class (TeamBoard_team4Class)
package {
import mx.core.*;
public class TeamBoard_team4Class extends BitmapAsset {
}
}//package
Section 48
//TeamBoard_team5Class (TeamBoard_team5Class)
package {
import mx.core.*;
public class TeamBoard_team5Class extends BitmapAsset {
}
}//package
Section 49
//TeamBoard_team6Class (TeamBoard_team6Class)
package {
import mx.core.*;
public class TeamBoard_team6Class extends BitmapAsset {
}
}//package
Section 50
//TeamBoard_team7Class (TeamBoard_team7Class)
package {
import mx.core.*;
public class TeamBoard_team7Class extends BitmapAsset {
}
}//package
Section 51
//TeamBoard_team8Class (TeamBoard_team8Class)
package {
import mx.core.*;
public class TeamBoard_team8Class extends BitmapAsset {
}
}//package
Section 52
//TeamBoard_teamClass (TeamBoard_teamClass)
package {
import mx.core.*;
public class TeamBoard_teamClass extends BitmapAsset {
}
}//package