Section 1
//Matrix3d (_3d.Matrix3d)
package _3d {
public class Matrix3d {
public var _12:Number;
public var _11:Number;
public var _13:Number;
public var _14:Number;
public var _32:Number;
public var _41:Number;
public var _42:Number;
public var _21:Number;
public var _22:Number;
public var _23:Number;
public var _24:Number;
public var _43:Number;
public var _44:Number;
public var _34:Number;
public var _31:Number;
public var _33:Number;
public function Matrix3d(_arg1:Number=1, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0, _arg6:Number=1, _arg7:Number=0, _arg8:Number=0, _arg9:Number=0, _arg10:Number=0, _arg11:Number=1, _arg12:Number=0, _arg13:Number=0, _arg14:Number=0, _arg15:Number=0, _arg16:Number=1){
_11 = _arg1;
_12 = _arg2;
_13 = _arg3;
_14 = _arg4;
_21 = _arg5;
_22 = _arg6;
_23 = _arg7;
_24 = _arg8;
_31 = _arg9;
_32 = _arg10;
_33 = _arg11;
_34 = _arg12;
_41 = _arg13;
_42 = _arg14;
_43 = _arg15;
_44 = _arg16;
}
public function toString():String{
return (((((((((((((((((((((((((((((((_11 + ",") + _12) + ",") + _13) + ",") + _14) + ",") + _21) + ",") + _22) + ",") + _23) + ",") + _24) + ",") + _31) + ",") + _32) + ",") + _33) + ",") + _34) + ",") + _41) + ",") + _42) + ",") + _43) + ",") + _44));
}
public static function product(_arg1:Matrix3d, _arg2:Matrix3d):Matrix3d{
return (new Matrix3d(((((_arg1._11 * _arg2._11) + (_arg1._12 * _arg2._21)) + (_arg1._13 * _arg2._31)) + (_arg1._14 * _arg2._41)), ((((_arg1._11 * _arg2._12) + (_arg1._12 * _arg2._22)) + (_arg1._13 * _arg2._32)) + (_arg1._14 * _arg2._42)), ((((_arg1._11 * _arg2._13) + (_arg1._12 * _arg2._23)) + (_arg1._13 * _arg2._33)) + (_arg1._14 * _arg2._43)), ((((_arg1._11 * _arg2._14) + (_arg1._12 * _arg2._24)) + (_arg1._13 * _arg2._34)) + (_arg1._14 * _arg2._44)), ((((_arg1._21 * _arg2._11) + (_arg1._22 * _arg2._21)) + (_arg1._23 * _arg2._31)) + (_arg1._24 * _arg2._41)), ((((_arg1._21 * _arg2._12) + (_arg1._22 * _arg2._22)) + (_arg1._23 * _arg2._32)) + (_arg1._24 * _arg2._42)), ((((_arg1._21 * _arg2._13) + (_arg1._22 * _arg2._23)) + (_arg1._23 * _arg2._33)) + (_arg1._24 * _arg2._43)), ((((_arg1._21 * _arg2._14) + (_arg1._22 * _arg2._24)) + (_arg1._23 * _arg2._34)) + (_arg1._24 * _arg2._44)), ((((_arg1._31 * _arg2._11) + (_arg1._32 * _arg2._21)) + (_arg1._33 * _arg2._31)) + (_arg1._34 * _arg2._41)), ((((_arg1._31 * _arg2._12) + (_arg1._32 * _arg2._22)) + (_arg1._33 * _arg2._32)) + (_arg1._34 * _arg2._42)), ((((_arg1._31 * _arg2._13) + (_arg1._32 * _arg2._23)) + (_arg1._33 * _arg2._33)) + (_arg1._34 * _arg2._43)), ((((_arg1._31 * _arg2._14) + (_arg1._32 * _arg2._24)) + (_arg1._33 * _arg2._34)) + (_arg1._34 * _arg2._44)), ((((_arg1._41 * _arg2._11) + (_arg1._42 * _arg2._21)) + (_arg1._43 * _arg2._31)) + (_arg1._44 * _arg2._41)), ((((_arg1._41 * _arg2._12) + (_arg1._42 * _arg2._22)) + (_arg1._43 * _arg2._32)) + (_arg1._44 * _arg2._42)), ((((_arg1._41 * _arg2._13) + (_arg1._42 * _arg2._23)) + (_arg1._43 * _arg2._33)) + (_arg1._44 * _arg2._43)), ((((_arg1._41 * _arg2._14) + (_arg1._42 * _arg2._24)) + (_arg1._43 * _arg2._34)) + (_arg1._44 * _arg2._44))));
}
}
}//package _3d
Section 2
//Vector (_3d.Vector)
package _3d {
public class Vector {
private var xx:Number;
public var z:Number;
private var L:Number;
private var zz:Number;
private var yy:Number;
private var c:Number;
public var x:Number;
public var y:Number;
private var s:Number;
public function Vector(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){
x = _arg1;
y = _arg2;
z = _arg3;
}
public function mul(_arg1:Number):void{
x = (x * _arg1);
y = (y * _arg1);
z = (z * _arg1);
}
public function normalize():void{
if ((L = length) > 0){
x = (x / L);
y = (y / L);
z = (z / L);
};
}
public function revolutiony(_arg1:Number):void{
c = Math.cos(_arg1);
s = Math.sin(_arg1);
zz = z;
xx = x;
z = ((zz * c) - (xx * s));
x = ((zz * s) + (xx * c));
}
public function revolutionz(_arg1:Number):void{
c = Math.cos(_arg1);
s = Math.sin(_arg1);
xx = x;
yy = y;
x = ((xx * c) - (yy * s));
y = ((xx * s) + (yy * c));
}
public function toString():String{
return ((((((("(" + x) + ",") + y) + ",") + z) + ")"));
}
public function clone():Vector{
return (new Vector(x, y, z));
}
public function revolutionx(_arg1:Number):void{
c = Math.cos(_arg1);
s = Math.sin(_arg1);
yy = y;
zz = z;
y = ((yy * c) - (zz * s));
z = ((yy * s) + (zz * c));
}
public function add(_arg1:Vector):void{
x = (x + _arg1.x);
y = (y + _arg1.y);
z = (z + _arg1.z);
}
public function crossProduct(_arg1:Vector):Vector{
return (new Vector(((y * _arg1.z) - (z * _arg1.y)), ((z * _arg1.x) - (x * _arg1.z)), ((x * _arg1.y) - (y * _arg1.x))));
}
public function transform(_arg1:Matrix3d):void{
xx = x;
yy = y;
zz = z;
x = ((((xx * _arg1._11) + (yy * _arg1._21)) + (zz * _arg1._31)) + _arg1._41);
y = ((((xx * _arg1._12) + (yy * _arg1._22)) + (zz * _arg1._32)) + _arg1._42);
z = ((((xx * _arg1._13) + (yy * _arg1._23)) + (zz * _arg1._33)) + _arg1._43);
}
public function sub(_arg1:Vector):void{
x = (x - _arg1.x);
y = (y - _arg1.y);
z = (z - _arg1.z);
}
public function get length():Number{
return (Math.sqrt((((x * x) + (y * y)) + (z * z))));
}
public function toInt():void{
x = Math.round(x);
y = Math.round(y);
z = Math.round(z);
}
public function dotProduct(_arg1:Vector):Number{
return ((((x * _arg1.x) + (y * _arg1.y)) + (z * _arg1.z)));
}
public static function transform_(_arg1:Vector, _arg2:Matrix3d):Vector{
return (new Vector(((((_arg1.x * _arg2._11) + (_arg1.y * _arg2._21)) + (_arg1.z * _arg2._31)) + _arg2._41), ((((_arg1.x * _arg2._12) + (_arg1.y * _arg2._22)) + (_arg1.z * _arg2._32)) + _arg2._42), ((((_arg1.x * _arg2._13) + (_arg1.y * _arg2._23)) + (_arg1.z * _arg2._33)) + _arg2._43)));
}
public static function add_(_arg1:Vector, _arg2:Vector):Vector{
return (new Vector((_arg1.x + _arg2.x), (_arg1.y + _arg2.y), (_arg1.z + _arg2.z)));
}
public static function sub_(_arg1:Vector, _arg2:Vector):Vector{
return (new Vector((_arg1.x - _arg2.x), (_arg1.y - _arg2.y), (_arg1.z - _arg2.z)));
}
}
}//package _3d
Section 3
//1B_20 (chess_0622_fla.1B_20)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 1B_20 extends MovieClip {
public function 1B_20(){
addFrameScript(6, frame7, 17, frame18);
}
function frame18(){
Char(parent).onHit();
}
function frame7(){
Char(parent).onHitBegin();
}
}
}//package chess_0622_fla
Section 4
//1Z_21 (chess_0622_fla.1Z_21)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 1Z_21 extends MovieClip {
public function 1Z_21(){
addFrameScript(6, frame7, 17, frame18);
}
function frame18(){
Char(parent).onHit();
}
function frame7(){
Char(parent).onHitBegin();
}
}
}//package chess_0622_fla
Section 5
//2B_42 (chess_0622_fla.2B_42)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 2B_42 extends MovieClip {
public function 2B_42(){
addFrameScript(6, frame7, 29, frame30);
}
function frame7(){
Char(parent).onHitBegin();
}
function frame30(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 6
//2Z_43 (chess_0622_fla.2Z_43)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 2Z_43 extends MovieClip {
public function 2Z_43(){
addFrameScript(6, frame7, 29, frame30);
}
function frame7(){
Char(parent).onHitBegin();
}
function frame30(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 7
//3B_29 (chess_0622_fla.3B_29)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 3B_29 extends MovieClip {
public function 3B_29(){
addFrameScript(18, frame19, 23, frame24);
}
function frame19(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 8
//3Z_30 (chess_0622_fla.3Z_30)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 3Z_30 extends MovieClip {
public function 3Z_30(){
addFrameScript(18, frame19, 23, frame24);
}
function frame19(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 9
//4B_51 (chess_0622_fla.4B_51)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 4B_51 extends MovieClip {
public function 4B_51(){
addFrameScript(12, frame13, 23, frame24);
}
function frame13(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 10
//4Z_52 (chess_0622_fla.4Z_52)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 4Z_52 extends MovieClip {
public function 4Z_52(){
addFrameScript(12, frame13, 23, frame24);
}
function frame13(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 11
//5B_60 (chess_0622_fla.5B_60)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 5B_60 extends MovieClip {
public function 5B_60(){
addFrameScript(6, frame7, 23, frame24);
}
function frame7(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 12
//5Z_61 (chess_0622_fla.5Z_61)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class 5Z_61 extends MovieClip {
public function 5Z_61(){
addFrameScript(6, frame7, 23, frame24);
}
function frame7(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 13
//all_8 (chess_0622_fla.all_8)
package chess_0622_fla {
import flash.display.*;
public dynamic class all_8 extends MovieClip {
public function all_8(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package chess_0622_fla
Section 14
//B_19 (chess_0622_fla.B_19)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_19 extends MovieClip {
public function B_19(){
addFrameScript(12, frame13, 23, frame24);
}
function frame13(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 15
//B_22 (chess_0622_fla.B_22)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_22 extends MovieClip {
public function B_22(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
Char(parent).onDie();
}
}
}//package chess_0622_fla
Section 16
//B_28 (chess_0622_fla.B_28)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_28 extends MovieClip {
public function B_28(){
addFrameScript(18, frame19, 23, frame24);
}
function frame19(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 17
//B_31 (chess_0622_fla.B_31)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_31 extends MovieClip {
public function B_31(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
Char(parent).onDie();
}
}
}//package chess_0622_fla
Section 18
//B_35 (chess_0622_fla.B_35)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_35 extends MovieClip {
public function B_35(){
addFrameScript(18, frame19, 23, frame24);
}
function frame19(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 19
//B_36 (chess_0622_fla.B_36)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_36 extends MovieClip {
public function B_36(){
addFrameScript(35, frame36);
}
function frame36(){
stop();
Char(parent).onDie();
}
}
}//package chess_0622_fla
Section 20
//B_41 (chess_0622_fla.B_41)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_41 extends MovieClip {
public function B_41(){
addFrameScript(6, frame7, 29, frame30);
}
function frame7(){
Char(parent).onHitBegin();
}
function frame30(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 21
//B_44 (chess_0622_fla.B_44)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_44 extends MovieClip {
public function B_44(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
Char(parent).onDie();
}
}
}//package chess_0622_fla
Section 22
//B_50 (chess_0622_fla.B_50)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_50 extends MovieClip {
public function B_50(){
addFrameScript(12, frame13, 23, frame24);
}
function frame13(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 23
//B_53 (chess_0622_fla.B_53)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_53 extends MovieClip {
public function B_53(){
addFrameScript(29, frame30);
}
function frame30(){
stop();
Char(parent).onDie();
}
}
}//package chess_0622_fla
Section 24
//B_59 (chess_0622_fla.B_59)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_59 extends MovieClip {
public function B_59(){
addFrameScript(6, frame7, 23, frame24);
}
function frame7(){
Char(parent).onHitBegin();
}
function frame24(){
Char(parent).onHit();
}
}
}//package chess_0622_fla
Section 25
//B_62 (chess_0622_fla.B_62)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class B_62 extends MovieClip {
public function B_62(){
addFrameScript(23, frame24);
}
function frame24(){
stop();
Char(parent).onDie();
}
}
}//package chess_0622_fla
Section 26
//bg_front_79 (chess_0622_fla.bg_front_79)
package chess_0622_fla {
import flash.display.*;
public dynamic class bg_front_79 extends MovieClip {
public function bg_front_79(){
addFrameScript(0, frame1);
}
function frame1(){
this.mouseEnabled = false;
}
}
}//package chess_0622_fla
Section 27
//chars_12 (chess_0622_fla.chars_12)
package chess_0622_fla {
import flash.display.*;
import game.*;
public dynamic class chars_12 extends MovieClip {
public function chars_12(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame3(){
stand();
}
function frame6(){
stand();
}
function frame1(){
gotoAndStop(ChessMan(parent).value);
stand();
}
function frame4(){
stand();
}
function frame5(){
stand();
}
function frame2(){
stand();
}
public function stand():void{
MovieClip(this.getChildAt(0)).gotoAndStop("stand3");
}
}
}//package chess_0622_fla
Section 28
//combo_item_mc_107 (chess_0622_fla.combo_item_mc_107)
package chess_0622_fla {
import flash.display.*;
import flash.text.*;
public dynamic class combo_item_mc_107 extends MovieClip {
public var txt:TextField;
}
}//package chess_0622_fla
Section 29
//combo_itemArea_106 (chess_0622_fla.combo_itemArea_106)
package chess_0622_fla {
import flash.display.*;
public dynamic class combo_itemArea_106 extends MovieClip {
public var item2:MovieClip;
public var item0:MovieClip;
public var item1:MovieClip;
}
}//package chess_0622_fla
Section 30
//fadeEffect_69 (chess_0622_fla.fadeEffect_69)
package chess_0622_fla {
import flash.display.*;
public dynamic class fadeEffect_69 extends MovieClip {
public var onShow:Function;
public var onHide:Function;
public function fadeEffect_69(){
addFrameScript(0, frame1, 10, frame11, 19, frame20);
}
function frame1(){
onShow = function (){
};
onHide = function (){
};
nextFrame();
}
public function hide(){
gotoAndPlay(12);
}
function frame20(){
onHide();
onHide = function (){
};
stop();
}
function frame11(){
stop();
onShow();
onShow = function (){
};
}
public function show(){
gotoAndPlay(3);
}
}
}//package chess_0622_fla
Section 31
//gravestone_10 (chess_0622_fla.gravestone_10)
package chess_0622_fla {
import flash.display.*;
public dynamic class gravestone_10 extends MovieClip {
public function gravestone_10(){
addFrameScript(0, frame1);
}
function frame1(){
gotoAndStop((int((Math.random() * this.totalFrames)) + 1));
}
}
}//package chess_0622_fla
Section 32
//handEffect_77 (chess_0622_fla.handEffect_77)
package chess_0622_fla {
import flash.display.*;
public dynamic class handEffect_77 extends MovieClip {
public function handEffect_77(){
addFrameScript(30, frame31, 49, frame50);
}
function frame31(){
Main(stage.getChildAt(0)).shake();
}
function frame50(){
stop();
}
}
}//package chess_0622_fla
Section 33
//instructions_mc_96 (chess_0622_fla.instructions_mc_96)
package chess_0622_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.geom.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class instructions_mc_96 extends MovieClip {
public var btnBack:BtnBack;
public var btnNext:BtnTemp;
public var btnSkip:BtnTemp;
public var main;
public function instructions_mc_96(){
addFrameScript(0, frame1);
}
function frame1(){
main = stage.getChildAt(0);
btnBack.onPress = function (){
prevFrame();
};
btnNext.onPress = function (){
nextFrame();
};
btnSkip.onPress = function (){
main.fadeTo("options");
};
nextFrame();
}
}
}//package chess_0622_fla
Section 34
//loading_logo_loading_2 (chess_0622_fla.loading_logo_loading_2)
package chess_0622_fla {
import flash.display.*;
public dynamic class loading_logo_loading_2 extends MovieClip {
public function loading_logo_loading_2(){
addFrameScript(38, frame39);
}
function frame39(){
stop();
}
}
}//package chess_0622_fla
Section 35
//loading_num_4 (chess_0622_fla.loading_num_4)
package chess_0622_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.geom.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class loading_num_4 extends MovieClip {
public var num_txt:TextField;
public var li:LoaderInfo;
public var _root;
public function loading_num_4(){
addFrameScript(0, frame1);
}
public function loading(_arg1:Event):void{
var _local2:int;
_local2 = int(((li.bytesLoaded / li.bytesTotal) * 100));
num_txt.text = (_local2 + "%");
if (_local2 >= 100){
removeEventListener(Event.ENTER_FRAME, loading);
if (!(_root._mochiad is MovieClip)){
_root.play();
};
};
}
function frame1(){
_root = stage.getChildAt(0);
li = _root.loaderInfo;
this.addEventListener(Event.ENTER_FRAME, loading);
}
}
}//package chess_0622_fla
Section 36
//loading_protect_text_7 (chess_0622_fla.loading_protect_text_7)
package chess_0622_fla {
import flash.display.*;
public dynamic class loading_protect_text_7 extends MovieClip {
public var main;
public function loading_protect_text_7(){
addFrameScript(0, frame1);
}
function frame1(){
this.visible = false;
}
}
}//package chess_0622_fla
Section 37
//logo_3 (chess_0622_fla.logo_3)
package chess_0622_fla {
import flash.display.*;
import flash.events.*;
import flash.net.*;
public dynamic class logo_3 extends MovieClip {
public function logo_3(){
addFrameScript(0, frame1);
}
function frame1(){
this.buttonMode = true;
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
}
public function mouseDown(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.freeworldgroup.com/"), "_blank");
}
}
}//package chess_0622_fla
Section 38
//moon_mov_73 (chess_0622_fla.moon_mov_73)
package chess_0622_fla {
import flash.display.*;
import flash.events.*;
public dynamic class moon_mov_73 extends MovieClip {
public var delayTime:int;
public function moon_mov_73(){
addFrameScript(0, frame1, 622, frame623);
}
function frame623(){
gotoAndStop(2);
}
function frame1(){
stop();
delayTime = 0;
stage.addEventListener(Event.ENTER_FRAME, playRun);
}
public function playRun(_arg1:Event):void{
if (--delayTime <= 0){
delayTime = 20;
nextFrame();
};
}
}
}//package chess_0622_fla
Section 39
//padPopUp_91 (chess_0622_fla.padPopUp_91)
package chess_0622_fla {
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
import flash.filters.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.geom.*;
import flash.printing.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class padPopUp_91 extends MovieClip {
public var msgTxt:TextField;
public var bg:MovieClip;
public function padPopUp_91(){
addFrameScript(0, frame1);
}
function frame1(){
this.visible = false;
this.mouseEnabled = false;
this.mouseChildren = false;
msgTxt.autoSize = "center";
}
public function hide():void{
this.visible = false;
}
public function show(_arg1:String, _arg2):void{
var _local3:Point;
this.visible = true;
msgTxt.text = _arg1;
bg.width = (msgTxt.textWidth + 50);
_local3 = _arg2.localToGlobal(new Point());
this.x = _local3.x;
this.y = _local3.y;
}
}
}//package chess_0622_fla
Section 40
//playerSelect_nameTxt_109 (chess_0622_fla.playerSelect_nameTxt_109)
package chess_0622_fla {
import flash.display.*;
import flash.text.*;
public dynamic class playerSelect_nameTxt_109 extends MovieClip {
public var nameTxt:TextField;
}
}//package chess_0622_fla
Section 41
//results_mc_126 (chess_0622_fla.results_mc_126)
package chess_0622_fla {
import flash.display.*;
import flash.text.*;
public dynamic class results_mc_126 extends MovieClip {
public var intelligenceTxt0:TextField;
public var intelligenceTxt1:TextField;
public var winNum0:int;
public var winNum1:int;
public var intelligenceStr1:String;
public var intelligenceStr0:String;
public var resultPad0:ResultPad;
public var resultPad1:ResultPad;
public var statusTxt0:TextField;
public var statusTxt1:TextField;
public function results_mc_126(){
addFrameScript(0, frame1, 1, frame2);
}
public function init(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:String, _arg7:String, _arg8:int, _arg9:int, _arg10:Array, _arg11:Array){
var _local12:Array;
if ((((_arg4 == 1)) && ((_arg5 == 1)))){
resultPad0.init(_arg1, _arg2, _arg6, _arg10);
resultPad1.init(_arg1, _arg3, _arg7, _arg11);
} else {
if ((((_arg4 == 0)) && ((_arg5 == 0)))){
resultPad0.visible = false;
resultPad1.visible = false;
} else {
_local12 = [4, 2, 1];
resultPad0.x = -50;
if (_arg4 == 1){
resultPad0.init(_arg1, _arg2, "Last Round Score:", _arg10, _local12[_arg9]);
} else {
resultPad0.init(_arg1, _arg3, "Last Round Score:", _arg11, _local12[_arg8]);
};
resultPad1.visible = false;
};
};
}
public function init2(_arg1:int, _arg2:int, _arg3:String, _arg4:String):void{
winNum0 = _arg1;
winNum1 = _arg2;
intelligenceStr0 = _arg3;
intelligenceStr1 = _arg4;
nextFrame();
}
function frame1(){
stop();
}
function frame2(){
intelligenceTxt0.text = intelligenceStr0;
intelligenceTxt1.text = intelligenceStr1;
statusTxt0.text = ("CPU1:" + winNum0);
statusTxt1.text = ("CPU2:" + winNum1);
}
}
}//package chess_0622_fla
Section 42
//versionWarning_6 (chess_0622_fla.versionWarning_6)
package chess_0622_fla {
import flash.display.*;
public dynamic class versionWarning_6 extends MovieClip {
public function versionWarning_6(){
addFrameScript(0, frame1);
}
function frame1(){
this.visible = false;
}
}
}//package chess_0622_fla
Section 43
//Char (game.Char)
package game {
import flash.display.*;
public class Char extends MovieClip {
public var onHit:Function;
private var chessMan:ChessMan;
public var onHitBegin:Function;
public function Char(){
chessMan = ChessMan(parent.parent);
chessMan.char = this;
this.stop();
}
public function onDie(){
chessMan.die();
}
}
}//package game
Section 44
//Char1 (game.Char1)
package game {
public class Char1 extends Char {
}
}//package game
Section 45
//Char2 (game.Char2)
package game {
public class Char2 extends Char {
}
}//package game
Section 46
//Char3 (game.Char3)
package game {
public class Char3 extends Char {
}
}//package game
Section 47
//Char4 (game.Char4)
package game {
public class Char4 extends Char {
}
}//package game
Section 48
//Char5 (game.Char5)
package game {
public class Char5 extends Char {
}
}//package game
Section 49
//Char6 (game.Char6)
package game {
public class Char6 extends Char {
}
}//package game
Section 50
//Chess (game.Chess)
package game {
import flash.utils.*;
public class Chess {
public static const BLANK:int = 0;
public static const total:int = 36;
public static const h:int = 6;
public static const UNKNOWN:int = 15;
public static const w:int = 6;
public static const ltrb:Array = [[-1, 0], [0, -1], [1, 0], [0, 1]];
public static const numArr:Array = [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 5, 6, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 12, 12, 13, 14];
private static var searchDepth:int;
private static var restNumArr:Array;
private static var maxDepth:int;
private static var cmMap:Array;
private static var turnCm:ChessMan;
private static var restManArr:Array;
private static var staticValue:int;
private static var player1:Player;
private static var bestMovArr:Array;
private static var currentPlayer:Player;
private static var player0:Player;
public static function random(_arg1:int):int{
return (int((_arg1 * Math.random())));
}
public static function run(_arg1:Array, _arg2:int, _arg3:int, _arg4:Array):Object{
var _local5:int;
var _local6:int;
cmMap = new Array(h);
player0 = new Player(0);
player1 = new Player(1);
player0.enemy = player1;
player1.enemy = player0;
currentPlayer = Chess[("player" + _arg2)];
_local6 = 0;
while (_local6 < h) {
cmMap[_local6] = new Array(w);
_local5 = 0;
while (_local5 < w) {
if (_arg1[_local6][_local5] == BLANK){
cmMap[_local6][_local5] = null;
} else {
cmMap[_local6][_local5] = new ChessMan(_arg1[_local6][_local5], _local5, _local6);
};
_local5++;
};
_local6++;
};
restNumArr = _arg4.slice();
if (restNumArr.length > 0){
turnCm = new ChessMan(restNumArr[random(restNumArr.length)], -1, -1);
trace(("turnCm=" + turnCm));
} else {
turnCm = null;
};
outputMap();
switch (_arg3){
case 2:
maxDepth = 1;
break;
case 1:
maxDepth = 5;
break;
case 0:
maxDepth = 30;
break;
};
trace(("maxDepth=" + maxDepth));
return (getBestMov(currentPlayer));
}
private static function traceChessManMap(_arg1:int=0):void{
var _local2:String;
var _local3:int;
var _local4:int;
var _local5:String;
var _local6:int;
_arg1 = (5 - _arg1);
_local2 = "";
_local3 = 0;
while (_local3 < _arg1) {
_local2 = (_local2 + " ");
_local3++;
};
_local4 = 0;
while (_local4 < h) {
_local5 = _local2;
_local6 = 0;
while (_local6 < w) {
if (cmMap[_local4][_local6] == null){
_local5 = (_local5 + "空格 ");
} else {
_local5 = (_local5 + (cmMap[_local4][_local6] + " "));
};
_local6++;
};
trace(_local5);
_local4++;
};
}
private static function getBestMov(_arg1:Player):Object{
var _local2:ChessMan;
var _local3:ChessMan;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:Array;
var _local14:BestMov;
var _local15:int;
var _local16:Boolean;
var _local17:Array;
staticValue = 0;
_local5 = 0;
while (_local5 < h) {
_local4 = 0;
while (_local4 < w) {
_local2 = cmMap[_local5][_local4];
if ((((_local2 == null)) || (_local2.isUnknown))){
} else {
Chess[("player" + _local2.color)].addCm(_local2);
};
_local4++;
};
_local5++;
};
player0.cmArr.sortOn("value", (Array.DESCENDING | Array.NUMERIC));
player1.cmArr.sortOn("value", (Array.DESCENDING | Array.NUMERIC));
searchDepth = -1;
if (_arg1.cmArr.length > 0){
for each (_local2 in _arg1.cmArr) {
for each (_local13 in ltrb) {
_local4 = (_local2.x + _local13[0]);
_local5 = (_local2.y + _local13[1]);
if ((((((((_local4 >= w)) || ((_local4 < 0)))) || ((_local5 >= h)))) || ((_local5 < 0)))){
} else {
_local3 = cmMap[_local5][_local4];
if ((((_local3 == null)) || (((((!(_local3.isUnknown)) && (!((_local3.color == _local2.color))))) && ((((((_local3.value == 6)) && ((_local2.value == 1)))) || ((((_local3.value <= _local2.value)) && (!((((_local3.value == 1)) && ((_local2.value == 6))))))))))))){
searchDepth = 0;
//unresolved jump
};
};
};
};
};
if (searchDepth >= 0){
bestMovArr = new Array();
if (turnCm == null){
} else {
bestMovArr.push(new BestMov("turn"));
};
for each (_local2 in _arg1.cmArr) {
_local4 = _local2.x;
_local5 = _local2.y;
_local8 = int((4 * Math.random()));
_local10 = 0;
while (_local10 < 4) {
_local9 = ((_local10 + _local8) % 4);
_local6 = (_local4 + ltrb[_local9][0]);
_local7 = (_local5 + ltrb[_local9][1]);
if ((((((((_local6 >= w)) || ((_local6 < 0)))) || ((_local7 >= h)))) || ((_local7 < 0)))){
} else {
_local3 = cmMap[_local7][_local6];
if ((((_local3 == null)) || (((((!(_local3.isUnknown)) && (!((_local3.color == _local2.color))))) && ((((((_local3.value == 6)) && ((_local2.value == 1)))) || ((((_local3.value <= _local2.value)) && (!((((_local3.value == 1)) && ((_local2.value == 6))))))))))))){
bestMovArr.push(new BestMov("mov", _local4, _local5, _local6, _local7));
};
};
_local10++;
};
};
_local16 = false;
if (turnCm == null){
_local17 = _arg1.cmArr.slice();
_arg1.cmArr = _local17.slice(0, 1);
trace(("player.cmArr=" + _arg1.cmArr));
_local15 = getTimer();
searchDepth = 0;
do {
for each (_local14 in bestMovArr) {
if (_local14.action == "mov"){
_local4 = _local14.x0;
_local5 = _local14.y0;
_local6 = _local14.xt;
_local7 = _local14.yt;
_local2 = cmMap[_local5][_local4];
_local3 = cmMap[_local7][_local6];
cmMap[_local7][_local6] = _local2;
_local2.x = _local6;
_local2.y = _local7;
cmMap[_local5][_local4] = null;
if (_local3 != null){
_local3.isDead = true;
staticValue = (staticValue + ((_local3.color == 1)) ? _local3.value : -(_local3.value));
};
_local14.value = -(evaluation(_arg1.enemy, searchDepth, -(BestMov.INFINITY), BestMov.INFINITY));
cmMap[_local7][_local6] = _local3;
cmMap[_local5][_local4] = _local2;
_local2.x = _local4;
_local2.y = _local5;
if (_local3 != null){
_local3.isDead = false;
staticValue = (staticValue - ((_local3.color == 1)) ? _local3.value : -(_local3.value));
};
} else {
_local14.value = -(evaluation(_arg1.enemy, searchDepth, -(BestMov.INFINITY), BestMov.INFINITY));
};
};
sortByValue(bestMovArr);
trace(("bestMovArr=" + bestMovArr));
} while (((((getTimer() - _local15) < 500)) && ((++searchDepth < maxDepth))));
_local14 = bestMovArr[0];
if (_local14.value == BestMov.INFINITY){
_local16 = true;
};
trace(((("单子测试:bestValue=" + _local14.value) + ",searchDepth=") + searchDepth));
_arg1.cmArr = _local17.slice();
};
if (!_local16){
_local15 = getTimer();
searchDepth = 0;
do {
for each (_local14 in bestMovArr) {
if (_local14.action == "mov"){
_local4 = _local14.x0;
_local5 = _local14.y0;
_local6 = _local14.xt;
_local7 = _local14.yt;
_local2 = cmMap[_local5][_local4];
_local3 = cmMap[_local7][_local6];
cmMap[_local7][_local6] = _local2;
_local2.x = _local6;
_local2.y = _local7;
cmMap[_local5][_local4] = null;
if (_local3 != null){
_local3.isDead = true;
staticValue = (staticValue + ((_local3.color == 1)) ? _local3.value : -(_local3.value));
};
_local14.value = -(evaluation(_arg1.enemy, searchDepth, -(BestMov.INFINITY), BestMov.INFINITY));
cmMap[_local7][_local6] = _local3;
cmMap[_local5][_local4] = _local2;
_local2.x = _local4;
_local2.y = _local5;
if (_local3 != null){
_local3.isDead = false;
staticValue = (staticValue - ((_local3.color == 1)) ? _local3.value : -(_local3.value));
};
} else {
_local14.value = -(evaluation(_arg1.enemy, searchDepth, -(BestMov.INFINITY), BestMov.INFINITY));
};
};
sortByValue(bestMovArr);
trace(("bestMovArr=" + bestMovArr));
} while (((((getTimer() - _local15) < 500)) && ((++searchDepth < maxDepth))));
};
_local14 = bestMovArr[0];
trace(((("bestValue=" + _local14.value) + ",searchDepth=") + searchDepth));
switch (_local14.action){
case "turn":
trace("搜索得到反子是个好办法");
return (Object(getTurnMov(_arg1)));
case "mov":
trace("搜索得到动子是个好办法");
return (Object(_local14));
default:
trace("搜索不到好办法");
return (null);
};
} else {
trace("没有可动的子");
};
return (!NULL!.Object(!NULL!));
}
private static function sortByValue(_arg1:Array):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:*;
_local2 = _arg1.length;
_local3 = (_local2 - 1);
while (_local3 >= 0) {
_local4 = 0;
while (_local4 < _local3) {
if (_arg1[_local3].value > _arg1[_local4].value){
_local5 = _arg1[_local3];
_arg1[_local3] = _arg1[_local4];
_arg1[_local4] = _local5;
};
_local4++;
};
_local3--;
};
}
private static function getTurnMov(_arg1):BestMov{
var _local2:BestMov;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:Array;
var _local14:ChessMan;
var _local15:ChessMan;
_local2 = new BestMov();
_local10 = random(h);
_local8 = 0;
while (_local8 < h) {
_local4 = ((_local8 + _local10) % h);
_local9 = random(w);
_local7 = 0;
while (_local7 < w) {
_local3 = ((_local7 + _local9) % w);
_local14 = cmMap[_local4][_local3];
if (_local14 == null){
} else {
if (_local14.isUnknown){
_local11 = 0;
_local12 = 0;
for each (_local13 in ltrb) {
_local5 = (_local3 + _local13[0]);
_local6 = (_local4 + _local13[1]);
if ((((((((_local5 >= w)) || ((_local5 < 0)))) || ((_local6 >= h)))) || ((_local6 < 0)))){
} else {
_local15 = cmMap[_local6][_local5];
if ((((_local15 == null)) || (_local15.isUnknown))){
} else {
if (_local15.color == _arg1.color){
if (_local15.value > _local12){
_local12 = _local15.value;
};
} else {
if (_local15.value > _local11){
_local11 = _local15.value;
};
};
};
};
};
if ((((_local12 > 3)) && ((_local12 >= _local11)))){
trace("找到一个挨着我的强子的来反");
_local2.action = "turn";
_local2.x0 = _local3;
_local2.y0 = _local4;
return (_local2);
};
};
};
_local7++;
};
_local8++;
};
_local10 = random(h);
_local8 = 0;
while (_local8 < h) {
_local4 = ((_local8 + _local10) % h);
_local9 = random(w);
_local7 = 0;
while (_local7 < w) {
_local3 = ((_local7 + _local9) % w);
_local14 = cmMap[_local4][_local3];
if (_local14 == null){
} else {
if (_local14.isUnknown){
_local11 = 0;
_local12 = 0;
for each (_local13 in ltrb) {
_local5 = (_local3 + _local13[0]);
_local6 = (_local4 + _local13[1]);
if ((((((((_local5 >= w)) || ((_local5 < 0)))) || ((_local6 >= h)))) || ((_local6 < 0)))){
} else {
_local15 = cmMap[_local6][_local5];
if ((((_local15 == null)) || (_local15.isUnknown))){
} else {
if (_local15.color == _arg1.color){
if (_local15.value > _local12){
_local12 = _local15.value;
};
} else {
if (_local15.value > _local11){
_local11 = _local15.value;
};
};
};
};
};
if ((((((_local12 > 0)) && ((_local12 <= 3)))) || ((((_local11 > 0)) && ((_local12 <= _local11)))))){
} else {
trace("找到一个不挨着对手的强子的来反");
_local2.action = "turn";
_local2.x0 = _local3;
_local2.y0 = _local4;
return (_local2);
};
};
};
_local7++;
};
_local8++;
};
_local10 = random(h);
_local8 = 0;
while (_local8 < h) {
_local4 = ((_local8 + _local10) % h);
_local9 = random(w);
_local7 = 0;
while (_local7 < w) {
_local3 = ((_local7 + _local9) % w);
_local14 = cmMap[_local4][_local3];
if (_local14 == null){
} else {
if (_local14.isUnknown){
trace("找不到好的,随便找个来反吧");
_local2.action = "turn";
_local2.x0 = _local3;
_local2.y0 = _local4;
return (_local2);
};
};
_local7++;
};
_local8++;
};
return (null);
}
public static function outputMap():void{
var _local1:String;
var _local2:int;
var _local3:int;
_local1 = "var numMap:Array=[\r";
_local2 = 0;
while (_local2 < h) {
_local1 = (_local1 + "[");
_local3 = 0;
while (_local3 < w) {
if (cmMap[_local2][_local3] == null){
_local1 = (_local1 + "0");
} else {
_local1 = (_local1 + (cmMap[_local2][_local3].num + ""));
};
if (_local3 == (w - 1)){
} else {
_local1 = (_local1 + ",");
};
_local3++;
};
_local1 = (_local1 + "]");
if (_local2 == (h - 1)){
} else {
_local1 = (_local1 + ",");
};
_local1 = (_local1 + "\r");
_local2++;
};
_local1 = (_local1 + "];");
trace(_local1);
}
private static function evaluation(_arg1:Player, _arg2:int, _arg3:int, _arg4:int):int{
var _local5:Player;
var _local6:int;
var _local7:ChessMan;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:int;
var _local13:int;
var _local14:int;
var _local15:ChessMan;
if (_arg2 <= 0){
return (((_arg1.color == 0)) ? staticValue : -(staticValue));
//unresolved jump
};
_local5 = _arg1.enemy;
if (turnCm == null){
} else {
_local6 = -(evaluation(_local5, (_arg2 - 1), -(_arg4), -(_arg3)));
if (_local6 > _arg3){
_arg3 = _local6;
if (_arg3 >= _arg4){
return (_arg3);
};
};
};
for each (_local7 in _arg1.cmArr) {
if (_local7.isDead){
} else {
_local8 = _local7.x;
_local9 = _local7.y;
_local10 = int((4 * Math.random()));
_local11 = 0;
while (_local11 < 4) {
_local12 = ((_local11 + _local10) % 4);
_local13 = (_local8 + ltrb[_local12][0]);
_local14 = (_local9 + ltrb[_local12][1]);
if ((((((((_local13 >= w)) || ((_local13 < 0)))) || ((_local14 >= h)))) || ((_local14 < 0)))){
} else {
_local15 = cmMap[_local14][_local13];
if ((((_local15 == null)) || (((((!(_local15.isUnknown)) && (!((_local15.color == _local7.color))))) && ((((((_local15.value == 6)) && ((_local7.value == 1)))) || ((((_local15.value <= _local7.value)) && (!((((_local15.value == 1)) && ((_local7.value == 6))))))))))))){
cmMap[_local14][_local13] = _local7;
_local7.x = _local13;
_local7.y = _local14;
cmMap[_local9][_local8] = null;
if (_local15 != null){
_local15.isDead = true;
staticValue = (staticValue + ((_local15.color == 1)) ? _local15.value : -(_local15.value));
};
_local6 = -(evaluation(_local5, (_arg2 - 1), -(_arg4), -(_arg3)));
if (_local6 > _arg3){
_arg3 = _local6;
};
cmMap[_local14][_local13] = _local15;
cmMap[_local9][_local8] = _local7;
_local7.x = _local8;
_local7.y = _local9;
if (_local15 != null){
_local15.isDead = false;
staticValue = (staticValue - ((_local15.color == 1)) ? _local15.value : -(_local15.value));
};
if (_arg3 >= _arg4){
return (_arg3);
};
};
};
_local11++;
};
};
};
return (_arg3);
}
}
}//package game
class ChessMan {
public var isUnknown:Boolean;
public var color:int;
public var num:int;
public var isDead:Boolean;
public var value:int;
public var x:int;
public var y:int;
public static var valueStr:String = "兵象马车后皇";
public static var colorStr:String = "红绿";
private function ChessMan(_arg1:int, _arg2:int, _arg3:int){
num = _arg1;
value = (num & 7);
color = (num >> 3);
isUnknown = (num == Chess.UNKNOWN);
isDead = false;
x = _arg2;
y = _arg3;
}
public function toString():String{
switch (num){
case Chess.UNKNOWN:
return ("未反");
default:
return ((colorStr.charAt(color) + valueStr.charAt((value - 1))));
};
}
}
class BestMov {
public var value:int;
public var action:String;
public var y0:int;
public var x0:int;
public var yt:int;
public var xt:int;
public static const INFINITY:int = 100000;
private function BestMov(_arg1:String="", _arg2:int=-1, _arg3:int=-1, _arg4:int=-1, _arg5:int=-1, _arg6:int=-100000){
action = _arg1;
x0 = _arg2;
y0 = _arg3;
xt = _arg4;
yt = _arg5;
value = _arg6;
}
public function clone():BestMov{
return (new BestMov(action, x0, y0, xt, yt, value));
}
public function toString():String{
return (((((((((("\rbestMov:(" + x0) + ",") + y0) + ")-->(") + xt) + ",") + yt) + "),value=") + value));
}
}
class Player {
public var color:int;
public var enemy:Player;
public var totalCm:int;
public var cmArr:Array;
private function Player(_arg1:int){
color = _arg1;
totalCm = 0;
cmArr = new Array();
}
public function addCm(_arg1:ChessMan):void{
cmArr.push(_arg1);
totalCm++;
}
}
Section 51
//ChessMan (game.ChessMan)
package game {
import _3d.*;
import flash.display.*;
public class ChessMan extends MovieClip {
public var onTurn:Function;
public var onDie:Function;
public var char:Char;
public var color:int;
public var value:int;
public var o:Vector;
public var __x:int;
public var __y:int;
private var __num:int;
public function ChessMan(_arg1:int=-1, _arg2:int=-1, _arg3:int=-1){
var _x = _arg1;
var _y = _arg2;
var _num = _arg3;
super();
addFrameScript(31, frame32, 32, frame33, 33, frame34, 54, frame55);
stop();
__x = _x;
__y = _y;
__num = _num;
if (__num < 0){
__num = Chess.UNKNOWN;
} else {
__num = _num;
};
num = __num;
this.cacheAsBitmap = true;
onTurn = function (){
};
}
public function set num(_arg1:int):void{
__num = _arg1;
color = (__num >> 3);
value = (__num & 7);
switch (__num){
case Chess.UNKNOWN:
this.gotoAndStop("UNKNOWN");
break;
default:
this.play();
break;
};
}
public function die():void{
gotoAndPlay("die");
}
public function get num():int{
return (__num);
}
function frame34(){
onTurn();
}
function frame33(){
onTurn();
}
function frame32(){
gotoAndStop(("c" + color));
}
public function get isUnknown():Boolean{
return ((num == Chess.UNKNOWN));
}
function frame55(){
onDie();
}
}
}//package game
Section 52
//Game (game.Game)
package game {
import _3d.*;
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.utils.*;
import flash.geom.*;
public class Game extends MovieClip {
public var stepNum:int;
public var intelligenceTxt0:TextField;
public var onStageClear:Function;
public var intelligenceTxt1:TextField;
public var recArea:MovieClip;
private var totalUnkillStep:int;
public var player1:Player;
private var currentEnemyCm:ChessMan;
public var player0:Player;
private var movId:int;
public var grid:MovieClip;
public var onWin:Function;
public var thinkingTxt:TextField;
private var onMov:Function;
public var currentPlayer:Player;
public var chessManMap:Array;
private var main;
public var statusTxt0:TextField;
public var cmType:CmType;
public var statusTxt1:TextField;
public var chessManArea:MovieClip;
public var restNumArr:Array;
private var currentMovingCm:ChessMan;
public var hitRec:MovieClip;
public static const d:int = 70;
public static const m:Matrix3d = new Matrix3d(-0.621609968270664, 0, -0.783326909627483, 0, 0, -1, 0, 0, -0.783326909627483, 0, 0.621609968270664, 0, 1000, 0, 0, 1);
private static var maxTotalUnkillStep:int = 25;
public function Game(){
hitRec.visible = false;
main = stage.getChildAt(0);
showGrid();
totalUnkillStep = maxTotalUnkillStep;
}
public function showGrid():void{
grid.visible = true;
}
public function moveChessManTo(_arg1:ChessMan, _arg2:Vector):void{
var _local3:Number;
_arg1.o = _arg2.clone();
_arg2 = Vector.transform_(_arg2, m);
_local3 = (-1000 / _arg2.x);
_arg1.x = (_arg2.y * _local3);
_arg1.y = (_arg2.z * _local3);
_arg1.scaleY = -(_local3);
if (_arg1.scaleX < 0){
_arg1.scaleX = -(_arg1.scaleY);
} else {
_arg1.scaleX = _arg1.scaleY;
};
}
public function init():void{
var numMap:Array;
var chessMan:ChessMan;
var totalUnknown:int;
var rec:Rec;
var _y:int;
var _x:int;
var num:int;
numMap = [[15, 15, 15, 15, 15, 15], [15, 15, 15, 15, 15, 15], [15, 15, 15, 15, 15, 15], [15, 15, 15, 15, 15, 15], [15, 15, 15, 15, 15, 15], [15, 15, 15, 15, 15, 15]];
totalUnknown = 0;
restNumArr = Chess.numArr.slice();
chessManMap = new Array(Chess.h);
_y = 0;
while (_y < Chess.h) {
chessManMap[_y] = new Array(Chess.w);
_x = 0;
while (_x < Chess.w) {
num = numMap[_y][_x];
if (num == Chess.BLANK){
} else {
var _local2 = (chessManMap[_y][_x] = new ChessMan(_x, _y, num));
chessMan = _local2;
chessManArea.addChild(_local2);
if (chessMan.isUnknown){
totalUnknown = (totalUnknown + 1);
} else {
deleteRest(num);
};
moveChessManTo(chessMan, toPosXy(new Vector(_x, _y)));
};
_local2 = new Rec(_x, _y);
rec = _local2;
recArea.addChild((recArea[((("rec" + _y) + "_") + _x)] = _local2));
drawRect(rec, _x, _y);
_x = (_x + 1);
};
_y = (_y + 1);
};
if (totalUnknown == 0){
restNumArr = new Array();
} else {
restNumArr = restNumArr.slice(0, totalUnknown);
};
trace(("restNumArr=" + restNumArr));
chessManArea.mouseEnabled = false;
chessManArea.mouseChildren = false;
enabledSelect();
player0.color = 0;
player0.enemy = player1;
player0.init(main.dataObj.player0);
player1.color = 1;
player1.enemy = player0;
player1.init(main.dataObj.player1);
intelligenceTxt0.text = player0.intelligenceStr;
intelligenceTxt1.text = player1.intelligenceStr;
statusTxt0.text = (((player0.isHuman) ? "P1" : "CPU" + ":") + main.winNum0);
statusTxt1.text = (((player1.isHuman) ? "P2" : "CPU" + ":") + main.winNum1);
stepNum = 0;
if ((main.roundNum % 2) == 0){
currentPlayer = player0;
} else {
currentPlayer = player1;
};
startRound();
onMov = function (){
startRound();
};
adjustDepth();
}
private function mov(_arg1:int, _arg2:int, _arg3:int, _arg4:int):void{
var dx:int;
var dy:int;
var x0 = _arg1;
var y0 = _arg2;
var xt = _arg3;
var yt = _arg4;
currentMovingCm = chessManMap[y0][x0];
dx = (xt - x0);
dy = (yt - y0);
if (dx == 0){
if (dy == -1){
movId = 0;
} else {
movId = 2;
};
} else {
if (dx == -1){
movId = 1;
} else {
movId = 3;
};
};
chessManMap[currentMovingCm.__y][currentMovingCm.__x] = null;
currentEnemyCm = chessManMap[yt][xt];
currentMovingCm.__x = xt;
currentMovingCm.__y = yt;
if (currentEnemyCm == null){
currentMovingCm.char.gotoAndStop(("walk" + movId));
adjustDepth();
stage.addEventListener(Event.ENTER_FRAME, movRun);
} else {
currentMovingCm.char.gotoAndStop(("hit" + movId));
totalUnkillStep = maxTotalUnkillStep;
currentMovingCm.char.onHitBegin = function (){
main.playSound(("SndB" + currentMovingCm.value));
};
currentMovingCm.char.onHit = function (){
currentMovingCm.char.onHit = function (){
};
currentMovingCm.char.gotoAndStop(("stand" + movId));
currentEnemyCm.char.gotoAndStop(("die" + ((currentEnemyCm.char.currentFrame - 1) % 4)));
currentEnemyCm.onDie = function (){
currentEnemyCm.onDie = function (){
};
chessManArea.removeChild(currentEnemyCm);
currentEnemyCm = null;
currentMovingCm.char.gotoAndStop(("walk" + movId));
adjustDepth();
stage.addEventListener(Event.ENTER_FRAME, movRun);
};
};
};
}
private function stageClear():void{
var _local1:Array;
var _local2:Array;
var _local3:ChessMan;
var _local4:int;
var _local5:int;
_local1 = new Array();
_local2 = new Array();
_local4 = 0;
while (_local4 < Chess.h) {
_local5 = 0;
while (_local5 < Chess.w) {
_local3 = chessManMap[_local4][_local5];
if ((((_local3 == null)) || (_local3.isUnknown))){
} else {
switch (_local3.color){
case 0:
_local1.push(_local3.value);
break;
case 1:
_local2.push(_local3.value);
break;
};
};
_local5++;
};
_local4++;
};
onStageClear(_local1, _local2);
}
private function initSelect():void{
var _y:int;
var _x:int;
var rec:Rec;
var cm:ChessMan;
var i:int;
var __x:int;
var __y:int;
var cm2:ChessMan;
enabledSelect();
hitRec.visible = false;
_y = 0;
while (_y < Chess.h) {
_x = 0;
for (;_x < Chess.w;(_x = (_x + 1))) {
rec = recArea[((("rec" + _y) + "_") + _x)];
cm = chessManMap[_y][_x];
rec.cm = cm;
if (cm == null){
} else {
if (cm.isUnknown){
rec.buttonMode = true;
setColor(rec, 0xFFFFFF);
rec.onRollOver = function (){
this.show();
cmType.showChessMan(this.cm, chessManMap[this.__y][(this.__x + 1)]);
};
rec.onRollOut = function (){
this.hide();
cmType.unShowChessMan();
};
rec.onPress = function (){
enabledSelect();
turn(this.__x, this.__y);
};
continue;
} else {
if (cm.color != currentPlayer.color){
setColor(rec, ((cm.color == 0)) ? 0xFF0000 : 0xFF00, 0.3);
rec.onRollOver = function (){
this.show();
cmType.showChessMan(this.cm, chessManMap[this.__y][(this.__x + 1)]);
};
rec.onRollOut = function (){
this.hide();
cmType.unShowChessMan();
main.popUp.hide();
};
rec.onPress = function (){
this.hide();
main.popUp.show("NOT YOUR GHOUL", this);
};
continue;
};
};
i = 0;
while (i < 4) {
__x = (_x + Chess.ltrb[i][0]);
__y = (_y + Chess.ltrb[i][1]);
if ((((((((__x < 0)) || ((__x >= Chess.w)))) || ((__y < 0)))) || ((__y >= Chess.h)))){
} else {
cm2 = chessManMap[__y][__x];
if ((((cm2 == null)) || (((((!(cm2.isUnknown)) && (!((cm2.color == cm.color))))) && ((((((cm2.value == 6)) && ((cm.value == 1)))) || ((((cm2.value <= cm.value)) && (!((((cm2.value == 1)) && ((cm.value == 6))))))))))))){
rec.buttonMode = true;
setColor(rec, ((cm.color == 0)) ? 0xFF0000 : 0xFF00);
rec.onRollOver = function (){
this.show();
cmType.showChessMan(this.cm, chessManMap[this.__y][(this.__x + 1)]);
};
rec.onRollOut = function (){
this.hide();
cmType.unShowChessMan();
};
rec.onPress = function (){
currentMovingCm = chessManMap[this.__y][this.__x];
initSelect2();
};
break;
};
};
i = (i + 1);
};
if (i >= 4){
setColor(rec, ((cm.color == 0)) ? 0xFF0000 : 0xFF00, 0.3);
rec.onRollOver = function (){
this.show();
cmType.showChessMan(this.cm, chessManMap[this.__y][(this.__x + 1)]);
};
rec.onRollOut = function (){
this.hide();
cmType.unShowChessMan();
main.popUp.hide();
};
rec.onPress = function (){
this.hide();
main.popUp.show("NO MOVE AVAILABLE", this);
};
};
};
};
_y = (_y + 1);
};
}
private function setColor(_arg1:Rec, _arg2:int, _arg3:Number=1):void{
_arg1.transform.colorTransform = new ColorTransform((((_arg2 >> 16) & 0xFF) / 0xFF), (((_arg2 >> 8) & 0xFF) / 0xFF), ((_arg2 & 0xFF) / 0xFF), 0, 0, 0, 0, 0);
_arg1._alpha = _arg3;
}
public function drawRect(_arg1:MovieClip, _arg2:int, _arg3:int):void{
var _local4:Vector;
var _local5:int;
var _local6:Vector;
var _local7:Number;
_local4 = toPosXy(new Vector(_arg2, _arg3));
_local4.z = 5;
_arg1.graphics.clear();
_arg1.graphics.lineStyle(3, 0xFFFFFF);
_arg1.graphics.beginFill(0xFFFFFF, 0.3);
_local5 = 30;
_local6 = Vector.transform_(_local4, m);
_local7 = (-1000 / _local6.x);
_arg1.x = (_local6.y * _local7);
_arg1.y = (_local6.z * _local7);
moveTo(_arg1, new Vector((_local4.x - _local5), (_local4.y - _local5), _local4.z), -(_arg1.x), -(_arg1.y));
lineTo(_arg1, new Vector((_local4.x + _local5), (_local4.y - _local5), _local4.z), -(_arg1.x), -(_arg1.y));
lineTo(_arg1, new Vector((_local4.x + _local5), (_local4.y + _local5), _local4.z), -(_arg1.x), -(_arg1.y));
lineTo(_arg1, new Vector((_local4.x - _local5), (_local4.y + _local5), _local4.z), -(_arg1.x), -(_arg1.y));
lineTo(_arg1, new Vector((_local4.x - _local5), (_local4.y - _local5), _local4.z), -(_arg1.x), -(_arg1.y));
_arg1.graphics.endFill();
}
private function deleteRest(_arg1:int){
var _local2:int;
var _local3:int;
_local2 = 0;
for each (_local3 in restNumArr) {
if (_local3 == _arg1){
restNumArr.splice(_local2, 1);
break;
};
_local2++;
};
}
public function startRound(){
var _local1:Boolean;
var _local2:*;
var _local3:*;
var _local4:int;
var _local5:int;
var _local6:ChessMan;
var _local7:Array;
var _local8:int;
var _local9:int;
var _local10:ChessMan;
if (--totalUnkillStep <= 0){
stageClear();
return;
};
currentPlayer.hide();
currentPlayer = currentPlayer.enemy;
currentPlayer.show();
_local1 = true;
_local2 = false;
_local3 = false;
_local4 = 0;
while (_local4 < Chess.h) {
_local5 = 0;
while (_local5 < Chess.w) {
_local6 = chessManMap[_local4][_local5];
if (_local6 == null){
} else {
if (_local6.isUnknown){
_local1 = false;
//unresolved jump
} else {
if (_local6.color == currentPlayer.color){
for each (_local7 in Chess.ltrb) {
_local8 = (_local5 + _local7[0]);
_local9 = (_local4 + _local7[1]);
if ((((((((_local8 >= Chess.w)) || ((_local8 < 0)))) || ((_local9 >= Chess.h)))) || ((_local9 < 0)))){
} else {
_local10 = chessManMap[_local9][_local8];
if ((((_local10 == null)) || (((((!(_local10.isUnknown)) && (!((_local10.color == _local6.color))))) && ((((((_local10.value == 6)) && ((_local6.value == 1)))) || ((((_local10.value <= _local6.value)) && (!((((_local10.value == 1)) && ((_local6.value == 6))))))))))))){
_local2 = true;
if (_local3){
_local1 = false;
//unresolved jump
};
};
};
};
} else {
_local3 = true;
if (_local2){
_local1 = false;
//unresolved jump
};
};
};
};
_local5++;
};
_local4++;
};
if (_local1){
stageClear();
return;
};
if (currentPlayer.isHuman){
thinkingTxt.text = "";
initSelect();
} else {
thinkingTxt.text = "THINKING....";
setTimeout(runComputer, 60);
};
}
public function order(_arg1:ChessMan, _arg2:ChessMan):int{
return (((((_arg1.__x < _arg2.__x)) || ((((_arg1.__x == _arg2.__x)) && ((_arg1.__y < _arg2.__y)))))) ? -1 : 1);
}
public function adjustDepth():void{
var _local1:int;
var _local2:Array;
var _local3:int;
var _local4:ChessMan;
_local1 = chessManArea.numChildren;
_local2 = new Array(_local1);
_local3 = 0;
while (_local3 < _local1) {
_local2[_local3] = ChessMan(chessManArea.getChildAt(_local3));
_local3++;
};
_local2.sort(order);
_local3 = 0;
for each (_local4 in _local2) {
var _temp1 = _local3;
_local3 = (_local3 + 1);
chessManArea.setChildIndex(_local4, _temp1);
};
}
private function disorder(_arg1:Array):void{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:*;
_local2 = _arg1.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = int((Math.random() * _local2));
_local5 = _arg1[_local4];
_arg1[_local4] = _arg1[_local3];
_arg1[_local3] = _local5;
_local3++;
};
}
public function run(_arg1:Player):void{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:Object;
var _local6:int;
_local2 = new Array(Chess.h);
_local3 = 0;
while (_local3 < Chess.h) {
_local2[_local3] = new Array(Chess.w);
_local6 = 0;
while (_local6 < Chess.w) {
if (chessManMap[_local3][_local6] == null){
_local2[_local3][_local6] = Chess.BLANK;
} else {
_local2[_local3][_local6] = chessManMap[_local3][_local6].num;
};
_local6++;
};
_local3++;
};
trace((((("step" + ++stepNum) + ",player") + currentPlayer.color) + "行动中"));
_local4 = getTimer();
_local5 = Chess.run(_local2, currentPlayer.color, currentPlayer.intelligence, restNumArr);
trace((("得到行动办法耗时" + (getTimer() - _local4)) + "毫秒."));
if (_local5 == null){
trace("没有方案");
} else {
if (_local5.action == "turn"){
turn(_local5.x0, _local5.y0);
} else {
mov(_local5.x0, _local5.y0, _local5.xt, _local5.yt);
};
};
trace("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-");
}
private function turn(_arg1:int, _arg2:int):void{
var x0 = _arg1;
var y0 = _arg2;
totalUnkillStep = maxTotalUnkillStep;
currentMovingCm = chessManMap[y0][x0];
currentMovingCm.num = restNumArr.splice(Chess.random(restNumArr.length), 1);
currentMovingCm.onTurn = function (){
currentMovingCm.onTurn = function (){
};
currentMovingCm = null;
onMov();
};
}
private function initSelect2():void{
var rec:Rec;
var cm:ChessMan;
var _y:int;
var _x:int;
enabledSelect();
hitRec.visible = false;
_y = 0;
while (_y < Chess.h) {
_x = 0;
for (;_x < Chess.w;(_x = (_x + 1))) {
cm = chessManMap[_y][_x];
rec = recArea[((("rec" + _y) + "_") + _x)];
rec.cm = cm;
if (((((Math.abs((_x - currentMovingCm.__x)) + Math.abs((_y - currentMovingCm.__y))) <= 1)) && ((((((cm == null)) || ((cm == currentMovingCm)))) || (((((!(cm.isUnknown)) && (!((cm.color == currentMovingCm.color))))) && ((((((cm.value == 6)) && ((currentMovingCm.value == 1)))) || ((((cm.value <= currentMovingCm.value)) && (!((((cm.value == 1)) && ((currentMovingCm.value == 6))))))))))))))){
if (cm == currentMovingCm){
} else {
rec.buttonMode = true;
setColor(rec, ((cm == null)) ? 0xFFFFFF : ((cm.color == 0)) ? 0xFF0000 : 0xFF00);
rec.onRollOver = function (){
this.show();
cmType.showChessMan(this.cm, chessManMap[this.__y][(this.__x + 1)]);
};
rec.onRollOut = function (){
this.hide();
cmType.unShowChessMan();
};
rec.onPress = function (){
enabledSelect();
mov(currentMovingCm.__x, currentMovingCm.__y, this.__x, this.__y);
};
};
} else {
setColor(rec, ((((cm == null)) || (cm.isUnknown))) ? 0xFFFFFF : ((cm.color == 0)) ? 0xFF0000 : 0xFF00, 0.3);
rec.onRollOver = function (){
this.show();
cmType.showChessMan(this.cm, chessManMap[this.__y][(this.__x + 1)]);
};
rec.onRollOut = function (){
this.hide();
cmType.unShowChessMan();
main.popUp.hide();
};
rec.onPress = function (){
this.hide();
main.popUp.show("ILLEGAL MOVE", this);
};
continue;
};
};
_y = (_y + 1);
};
rec = recArea[((("rec" + currentMovingCm.__y) + "_") + currentMovingCm.__x)];
rec.buttonMode = true;
rec.onRollOver = function (){
cmType.showChessMan(this.cm, chessManMap[this.__y][(this.__x + 1)]);
};
rec.onRollOut = function (){
cmType.unShowChessMan();
};
rec.show();
rec.onPress = function (){
currentMovingCm = null;
initSelect();
};
}
private function enabledSelect():void{
var _y:int;
var _x:int;
var rec:Rec;
if (cmType.frontCm != null){
cmType.frontCm.alpha = 1;
};
hitRec.visible = true;
_y = 0;
while (_y < Chess.h) {
_x = 0;
while (_x < Chess.w) {
rec = Rec(recArea[((("rec" + _y) + "_") + _x)]);
rec.hide();
rec.buttonMode = false;
rec.onRollOver = function (){
};
rec.onRollOut = function (){
};
rec.onPress = function (){
};
_x = (_x + 1);
};
_y = (_y + 1);
};
}
public function hideGrid():void{
grid.visible = false;
}
public function moveTo(_arg1:MovieClip, _arg2:Vector, _arg3:Number=0, _arg4:Number=0){
var _local5:Number;
_arg2 = Vector.transform_(_arg2, m);
_local5 = (-1000 / _arg2.x);
_arg1.graphics.moveTo(((_arg2.y * _local5) + _arg3), ((_arg2.z * _local5) + _arg4));
}
public function lineTo(_arg1:MovieClip, _arg2:Vector, _arg3:Number=0, _arg4:Number=0){
var _local5:Number;
_arg2 = Vector.transform_(_arg2, m);
_local5 = (-1000 / _arg2.x);
_arg1.graphics.lineTo(((_arg2.y * _local5) + _arg3), ((_arg2.z * _local5) + _arg4));
}
public function toIntXy(_arg1:Vector):Vector{
return (new Vector((((_arg1.x / d) - 0.5) + (Chess.w / 2)), (((_arg1.y / d) - 0.5) + (Chess.h / 2))));
}
public function toPosXy(_arg1:Vector):Vector{
return (new Vector((((_arg1.x - (Chess.w / 2)) + 0.5) * d), (((_arg1.y - (Chess.h / 2)) + 0.5) * d)));
}
private function runComputer():void{
run(currentPlayer);
thinkingTxt.text = "";
}
private function movRun(_arg1:Event):void{
var _local2:Vector;
var _local3:Vector;
_local2 = toPosXy(new Vector(currentMovingCm.__x, currentMovingCm.__y));
_local3 = Vector.sub_(_local2, currentMovingCm.o);
_local3.mul(0.3);
currentMovingCm.o.add(_local3);
moveChessManTo(currentMovingCm, currentMovingCm.o);
if (_local3.length < 1){
currentMovingCm.char.gotoAndStop(("stand" + movId));
currentMovingCm.o = _local2;
chessManMap[currentMovingCm.__y][currentMovingCm.__x] = currentMovingCm;
moveChessManTo(currentMovingCm, currentMovingCm.o);
stage.removeEventListener(Event.ENTER_FRAME, movRun);
currentMovingCm = null;
onMov();
};
}
}
}//package game
Section 53
//Player (game.Player)
package game {
import flash.display.*;
import flash.text.*;
public class Player extends MovieClip {
public var isHuman:Boolean;
public var color:int;
public var enemy:Player;
public var totalValue:int;
public var intelligence:int;
public var nameTxt:TextField;
public var intelligenceStr:String;
private static var intelligenceArr:Array = ["GENIUS", "ORDINARY", "DUMB"];
public function Player(){
isHuman = false;
hide();
}
public function init(_arg1:Object):void{
isHuman = (_arg1.type == 1);
intelligence = _arg1.intelligence;
nameTxt.text = (_arg1.playerName + "'s Turn");
if (isHuman){
intelligenceStr = "";
} else {
intelligenceStr = intelligenceArr[intelligence];
};
}
public function hide():void{
this.visible = false;
}
public function show():void{
this.gotoAndStop("blank");
this.visible = true;
}
}
}//package game
Section 54
//Rec (game.Rec)
package game {
import flash.display.*;
import flash.events.*;
public class Rec extends MovieClip {
public var _alpha:Number;
public var cm:ChessMan;
public var __x:int;
public var __y:int;
public var onPress:Function;
public var onRollOut:Function;
public var onRollOver:Function;
public function Rec(_arg1:int, _arg2:int){
var _x = _arg1;
var _y = _arg2;
super();
__x = _x;
__y = _y;
this.buttonMode = true;
onRollOver = function (){
};
onRollOut = function (){
};
onPress = function (){
};
this.addEventListener(MouseEvent.ROLL_OVER, rollOver);
this.addEventListener(MouseEvent.ROLL_OUT, rollOut);
this.addEventListener(MouseEvent.MOUSE_DOWN, press);
}
private function press(_arg1:MouseEvent):void{
onPress();
}
public function hide():void{
this.alpha = 0;
}
private function rollOut(_arg1:MouseEvent):void{
onRollOut();
}
private function rollOver(_arg1:MouseEvent):void{
onRollOver();
}
public function show():void{
this.alpha = _alpha;
}
}
}//package game
Section 55
//_3Btn (_3Btn)
package {
import flash.display.*;
import flash.events.*;
public class _3Btn extends MovieClip {
public var btnM:MovieClip;
public var btnQ:MovieClip;
public var btnS:MovieClip;
private var main;
public function _3Btn(){
main = stage.getChildAt(0);
btnQ.buttonMode = true;
btnQ.addEventListener(MouseEvent.MOUSE_OVER, popUpQ);
btnQ.addEventListener(MouseEvent.MOUSE_OUT, hidePopUp);
btnQ.addEventListener(MouseEvent.MOUSE_DOWN, setQuality);
btnM.buttonMode = true;
btnM.addEventListener(MouseEvent.MOUSE_OVER, popUpM);
btnM.addEventListener(MouseEvent.MOUSE_OUT, hidePopUp);
btnM.addEventListener(MouseEvent.MOUSE_DOWN, setMusic);
if (main.musicOn){
btnM.gotoAndStop(1);
} else {
btnM.gotoAndStop(2);
};
btnS.buttonMode = true;
btnS.addEventListener(MouseEvent.MOUSE_OVER, popUpS);
btnS.addEventListener(MouseEvent.MOUSE_OUT, hidePopUp);
btnS.addEventListener(MouseEvent.MOUSE_DOWN, setSound);
if (main.soundOn){
btnS.gotoAndStop(1);
} else {
btnS.gotoAndStop(2);
};
}
private function popUpM(_arg1:MouseEvent):void{
if (main.musicOn){
main.popUp.show("MUSIC OFF", btnM);
} else {
main.popUp.show("MUSIC ON", btnM);
};
}
private function setMusic(_arg1:MouseEvent):void{
if (main.musicOn){
main.musicOn = false;
btnM.gotoAndStop(2);
} else {
main.musicOn = true;
btnM.gotoAndStop(1);
};
hidePopUp();
}
private function popUpS(_arg1:MouseEvent):void{
if (main.soundOn){
main.popUp.show("SOUND OFF", btnS);
} else {
main.popUp.show("SOUND ON", btnS);
};
}
private function popUpQ(_arg1:MouseEvent):void{
main.popUp.show("QUALITY", btnQ);
}
private function setQuality(_arg1:MouseEvent):void{
main.showQualitySetting();
hidePopUp();
}
private function hidePopUp(_arg1:MouseEvent=null):void{
main.popUp.hide();
}
private function setSound(_arg1:MouseEvent):void{
if (main.soundOn){
main.soundOn = false;
btnS.gotoAndStop(2);
} else {
main.soundOn = true;
btnS.gotoAndStop(1);
};
hidePopUp();
}
}
}//package
Section 56
//Alert (Alert)
package {
import flash.display.*;
import flash.text.*;
public class Alert extends MovieClip {
public var btnYes:BtnYes;
public var msgTxt:TextField;
public var btnNo:BtnNo;
public var onCallBack:Function;
public static var alert:Alert;
public function Alert(){
super();
Alert.alert = this;
this.visible = false;
btnYes.onPress = function (){
callBack(true);
};
btnNo.onPress = function (){
callBack(false);
};
}
public function show_(_arg1:String, _arg2:Function):void{
this.visible = true;
msg = _arg1;
onCallBack = _arg2;
}
public function set msg(_arg1:String):void{
msgTxt.text = _arg1;
trace(msgTxt.text);
}
public function callBack(_arg1:Boolean):void{
this.visible = false;
onCallBack(_arg1);
}
public function get msg():String{
return (msgTxt.text);
}
public static function show(_arg1:String, _arg2:Function):void{
Alert.alert.show_(_arg1, _arg2);
}
}
}//package
Section 57
//Bat (Bat)
package {
import flash.display.*;
import flash.events.*;
public class Bat extends MovieClip {
public var bat:MovieClip;
private var removing:Boolean;
private var a:Number;
private var v:Number;
private var da:Number;
private var delayTime:int;
private static var r:Number = 100;
public function Bat(){
removing = false;
delayTime = 1;
stage.addEventListener(Event.ENTER_FRAME, run);
}
private function run(_arg1:Event):void{
var _local2:Number;
var _local3:Number;
if (delayTime > 0){
delayTime--;
if (delayTime == 0){
a = ((Math.random() * Math.PI) * 2);
da = 0;
v = (Math.random() + 1);
bat.alpha = 0;
_local2 = (r * Math.random());
_local3 = ((Math.random() * Math.PI) * 2);
bat.x = (_local2 * Math.cos(_local3));
bat.y = (_local2 * Math.sin(_local3));
};
};
v = (v + (0.5 - Math.random()));
da = (da + ((0.5 - Math.random()) * 0.005));
a = (a + da);
bat.x = (bat.x + (v * Math.cos(a)));
bat.y = (bat.y + (v * Math.sin(a)));
bat.rotation = (bat.rotation + (5 * (0.5 - Math.random())));
if (bat.rotation > 15){
bat.rotation = 15;
} else {
if (bat.rotation < -10){
bat.rotation = -10;
};
};
if (((bat.x * bat.x) + (bat.y * bat.y)) > (r * r)){
removing = true;
};
if (removing){
bat.alpha = (bat.alpha - 0.1);
if (bat.alpha < 0.1){
bat.alpha = 0;
delayTime = int((Math.random() * 100));
removing = false;
};
} else {
bat.alpha = (bat.alpha + 0.1);
if (bat.alpha > 0.9){
bat.alpha = 1;
};
};
}
}
}//package
Section 58
//Btn (Btn)
package {
import flash.display.*;
import flash.events.*;
import flash.filters.*;
public class Btn extends MovieClip {
private var __label;
private var sndPress:SndPress;
private var sndRollOver:SndRollOver;
public var onPress:Function;
public var main;
public var onRollOut:Function;
public var onRollOver:Function;
public function Btn(){
super();
main = stage.getChildAt(0);
sndPress = new SndPress();
sndRollOver = new SndRollOver();
onRollOver = function (){
};
onRollOut = function (){
};
onPress = function (){
};
this.addEventListener(MouseEvent.ROLL_OVER, rollOver);
this.addEventListener(MouseEvent.ROLL_OUT, rollOut);
this.addEventListener(MouseEvent.MOUSE_DOWN, press);
}
public function set selected(_arg1:Boolean):void{
if (_arg1){
this.filters = [new GlowFilter(0xFF0000, 0.5, 20, 20, 2, 3)];
this.mouseEnabled = false;
this.mouseChildren = false;
} else {
this.filters = [];
this.mouseEnabled = true;
this.mouseChildren = true;
};
}
private function press(_arg1:MouseEvent):void{
if (main.soundOn){
sndPress.play();
};
onPress();
}
public function get label():String{
return (__label);
}
private function rollOut(_arg1:MouseEvent):void{
onRollOut();
}
public function set label(_arg1:String):void{
__label = _arg1;
main.initBtn(this);
}
private function rollOver(_arg1:MouseEvent):void{
if (main.soundOn){
sndRollOver.play();
};
onRollOver();
}
}
}//package
Section 59
//BtnAgtys (BtnAgtys)
package {
public class BtnAgtys extends Btn {
public function BtnAgtys(){
label = "Add Games to Your Site";
}
}
}//package
Section 60
//BtnBack (BtnBack)
package {
public class BtnBack extends Btn {
}
}//package
Section 61
//BtnCopyright (BtnCopyright)
package {
public class BtnCopyright extends Btn {
public function BtnCopyright(){
label = "Copyright 2007 freeworldgroup.com";
}
}
}//package
Section 62
//BtnCredits (BtnCredits)
package {
public class BtnCredits extends Btn {
public function BtnCredits(){
label = "Credits";
}
}
}//package
Section 63
//BtnDg (BtnDg)
package {
public class BtnDg extends Btn {
public function BtnDg(){
label = "Download Games";
}
}
}//package
Section 64
//BtnGrid (BtnGrid)
package {
public class BtnGrid extends Btn {
public function BtnGrid(){
super();
stop();
onRollOver = function (){
if (this.currentFrame == 1){
main.popUp.show("HIDE GRID", this);
} else {
main.popUp.show("SHOW GRID", this);
};
};
onRollOut = function (){
main.popUp.hide();
};
}
}
}//package
Section 65
//BtnInst (BtnInst)
package {
public class BtnInst extends Btn {
public function BtnInst(){
label = "Instructions";
}
}
}//package
Section 66
//BtnM (BtnM)
package {
public class BtnM extends Btn {
public function BtnM(){
label = "Menu";
}
}
}//package
Section 67
//BtnMog (BtnMog)
package {
public class BtnMog extends Btn {
public function BtnMog(){
label = "More Online Games";
}
}
}//package
Section 68
//BtnNo (BtnNo)
package {
public class BtnNo extends Btn {
}
}//package
Section 69
//BtnOK (BtnOK)
package {
public class BtnOK extends Btn {
}
}//package
Section 70
//BtnPg (BtnPg)
package {
public class BtnPg extends Btn {
public function BtnPg(){
label = "Play Game";
}
}
}//package
Section 71
//BtnQ0 (BtnQ0)
package {
public class BtnQ0 extends Btn {
public function BtnQ0(){
label = "LOW";
}
}
}//package
Section 72
//BtnQ1 (BtnQ1)
package {
public class BtnQ1 extends Btn {
public function BtnQ1(){
label = "MEDIUM";
}
}
}//package
Section 73
//BtnQ2 (BtnQ2)
package {
public class BtnQ2 extends Btn {
public function BtnQ2(){
label = "HIGH";
}
}
}//package
Section 74
//BtnQ3 (BtnQ3)
package {
public class BtnQ3 extends Btn {
public function BtnQ3(){
label = "BEST";
}
}
}//package
Section 75
//BtnSubmit (BtnSubmit)
package {
public class BtnSubmit extends Btn {
}
}//package
Section 76
//BtnTemp (BtnTemp)
package {
public class BtnTemp extends Btn {
public var id:int;
}
}//package
Section 77
//BtnVh (BtnVh)
package {
public class BtnVh extends Btn {
public function BtnVh(){
label = "View Highscores";
}
}
}//package
Section 78
//BtnX (BtnX)
package {
public class BtnX extends Btn {
}
}//package
Section 79
//BtnYes (BtnYes)
package {
public class BtnYes extends Btn {
}
}//package
Section 80
//CmType (CmType)
package {
import flash.display.*;
import game.*;
public class CmType extends MovieClip {
public var frontCm:ChessMan;
public function CmType(){
this.gotoAndStop("blank");
}
public function showChessMan(_arg1:ChessMan=null, _arg2:ChessMan=null):void{
frontCm = _arg2;
if (frontCm != null){
frontCm.alpha = 0.3;
};
if ((((_arg1 == null)) || (_arg1.isUnknown))){
this.gotoAndStop("blank");
} else {
this.gotoAndStop(_arg1.value);
};
}
public function unShowChessMan():void{
if (frontCm != null){
frontCm.alpha = 1;
};
}
}
}//package
Section 81
//Combo (Combo)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.filters.*;
public class Combo extends MovieClip {
private var __selectedIndex:int;
private var sndPress:SndPress;
public var itemArea:MovieClip;
public var txt:TextField;
public var onChange:Function;
public var totalItem:int;
private var __arr:Array;
private var sndRollOver:SndRollOver;
private var isOpen:Boolean;
private static var maxLen:int = 3;
private static var d:Number = 30;
public function Combo(){
super();
sndPress = new SndPress();
sndRollOver = new SndRollOver();
this.addEventListener(MouseEvent.ROLL_OVER, rollOver);
this.addEventListener(MouseEvent.ROLL_OUT, rollOut);
this.addEventListener(MouseEvent.MOUSE_DOWN, press);
isOpen = false;
gotoAndStop("close");
itemArea.visible = false;
txt.mouseEnabled = false;
this.buttonMode = true;
onChange = function (){
};
}
public function set selectAble(_arg1:Boolean):void{
if (_arg1){
this.mouseEnabled = true;
this.mouseChildren = true;
this.filters = [];
} else {
this.mouseEnabled = false;
this.mouseChildren = false;
this.filters = [new ColorMatrixFilter([0.15, 0.295, 0.055, 0, 0, 0.15, 0.295, 0.055, 0, 0, 0.15, 0.295, 0.055, 0, 0, 0, 0, 0, 1, 0])];
};
}
public function get selectedIndex():int{
return (__selectedIndex);
}
private function setStageHit(_arg1:MouseEvent):void{
this.removeEventListener(MouseEvent.MOUSE_UP, setStageHit);
stage.addEventListener(MouseEvent.MOUSE_DOWN, closeHit);
}
private function press(_arg1:MouseEvent):void{
var _local2:int;
var _local3:*;
if (isOpen){
_local2 = 0;
while (_local2 < totalItem) {
_local3 = itemArea[("item" + _local2)];
if (_local3.hitTestPoint(stage.mouseX, stage.mouseY, true)){
selectedIndex = _local3.index;
};
_local2++;
};
} else {
open();
};
}
public function get label():String{
return (txt.text);
}
private function closeHit(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_DOWN, closeHit);
close();
}
public function open():void{
gotoAndStop("open");
itemArea.visible = true;
isOpen = true;
this.addEventListener(MouseEvent.MOUSE_UP, setStageHit);
}
private function rollOut(_arg1:MouseEvent):void{
}
public function set arr(_arg1:Array):void{
var _local2:int;
var _local3:*;
__arr = _arg1;
totalItem = Math.min(__arr.length, maxLen);
_local2 = 0;
while (_local2 < totalItem) {
_local3 = itemArea[("item" + _local2)];
_local3.visible = true;
_local3.index = _local2;
_local3.txt.mouseEnabled = false;
_local3.txt.text = __arr[_local2];
_local2++;
};
_local2 = totalItem;
while (_local2 < maxLen) {
itemArea[("item" + _local2)].visible = false;
_local2++;
};
selectedIndex = 0;
itemArea.y = ((totalItem - 1) * d);
}
public function set label(_arg1:String):void{
if (txt.text != _arg1){
txt.text = _arg1;
onChange();
};
}
private function rollOver(_arg1:MouseEvent):void{
}
public function set selectedIndex(_arg1):void{
__selectedIndex = _arg1;
label = __arr[__selectedIndex];
}
public function close():void{
gotoAndStop("close");
isOpen = false;
itemArea.visible = false;
}
}
}//package
Section 82
//Main (Main)
package {
import flash.display.*;
import flash.events.*;
import game.*;
import flash.media.*;
import flash.text.*;
import flash.net.*;
import flash.utils.*;
public dynamic class Main extends MovieClip {
private var isFirstPlay:Boolean;
public var roundTxt:TextField;
private var _soundOn:Boolean;
public var obj1:Object;
public var obj0:Object;
public var qualitySetting:QualitySetting;
public var score_mc:MovieClip;
public var intellStrArr:Array;
public var fadeMain:MovieClip;
public var btnTxt:TextField;
public var scoreTxt:TextField;
public var results_mc:MovieClip;
public var playerSelect1:PlayerSelect;
public var score:int;
public var playerSelect0:PlayerSelect;
public var musicCredits:MusicCredits;
public var combBestNum:Combo;
public var totalRound:int;
public var popUp:MovieClip;
public var statusTxt0:TextField;
public var statusTxt1:TextField;
public var player:Object;
public var dataObj:Object;
public var winTxt:TextField;
public var winColor:int;
public var valueArr0:Array;
public var valueArr1:Array;
private var sndBgChannal:SoundChannel;
public var playerName:String;
public var intelligenceTxt1:TextField;
public var halfRound:int;
public var intelligenceTxt0:TextField;
public var roundNum:int;
public var btnOK:BtnOK;
public var totalValue0:int;
public var totalValue1:int;
public var staleMateTxt:TextField;
public var submitScore:SubmitScore;
public var btnBack:BtnBack;
public var winNum0:int;
public var btnPa:BtnTemp;
public var winNum1:int;
public var btnNext:BtnTemp;
public var winObj:Object;
private var sndBg:SndBg;
public var gameName:String;
private var _musicOn:Boolean;
public var bonusArr:Array;
private var lso;
public var btnGrid:BtnGrid;
public var btnSs:BtnTemp;
public var score0:int;
public var score1:int;
public var game:Game;
public var hitRec:MovieClip;
public static const defaultName:String = "MrNoName";
public function Main(){
addFrameScript(0, frame1, 2, frame3, 37, frame38, 134, frame135, 135, frame136, 137, frame138, 138, frame139, 139, frame140, 140, frame141, 141, frame142);
isFirstPlay = true;
gameName = "tomb_chess";
lso = SharedObject.getLocal(gameName, "/");
dataObj = lso.data.dataObj;
if (dataObj == null){
trace("第一次设定");
dataObj = (lso.data.dataObj = {gameNum:2, player0:{type:1, intelligence:1, playerName:defaultName}, player1:{type:0, intelligence:1, playerName:defaultName}});
};
if (dataObj.player0.type == 1){
playerName = dataObj.player0.playerName;
} else {
if (dataObj.player1.type == 1){
playerName = dataObj.player1.playerName;
} else {
playerName = "";
};
};
}
public function saveSetting(_arg1:Object, _arg2:Object):void{
trace(((((("save" + _arg1.type) + ",") + _arg1.intelligence) + ",") + _arg1.playerName));
trace(((((("save" + _arg2.type) + ",") + _arg2.intelligence) + ",") + _arg2.playerName));
dataObj.player0 = _arg1;
dataObj.player1 = _arg2;
}
public function fadeTo(_arg1:String):void{
var label = _arg1;
fadeMain.label = label;
fadeMain.hide();
fadeMain.onHide = function (){
gotoAndStop(fadeMain.label);
fadeMain.show();
fadeMain.onShow = function (){
};
};
}
public function showSubmitScore():void{
trace("show submitScore");
submitScore.show();
}
public function playSound(_arg1:String):void{
if (soundOn){
new (getDefinitionByName(_arg1)).play();
};
}
private function getURL(_arg1:String):void{
navigateToURL(new URLRequest(_arg1), "_blank");
}
function frame1(){
stage.showDefaultContextMenu = false;
MochiAd.showPreloaderAd({clip:this, id:"680d79d46a0d5781", res:"600x500"});
}
function frame3(){
if (this.loaderInfo.bytesLoaded < this.loaderInfo.bytesTotal){
gotoAndStop("loading");
};
}
public function getTotalValue(_arg1:Array):int{
var _local2:int;
var _local3:int;
_local2 = 0;
for each (_local3 in _arg1) {
_local2 = (_local2 + _local3);
};
return (_local2);
}
public function playAgain():void{
}
function frame38(){
hitRec.buttonMode = true;
hitRec.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
}
public function set soundOn(_arg1:Boolean){
_soundOn = _arg1;
}
public function showQualitySetting():void{
qualitySetting.show();
qualitySetting.onHide = function (){
trace("onHide");
};
}
public function hidePopUp():void{
popUp.hide();
}
function bgMusicCompleteHandler(_arg1:Event):void{
}
public function showCredits():void{
musicCredits.show();
}
public function mouseDown(_arg1:MouseEvent):void{
navigateToURL(new URLRequest("http://www.freeworldgroup.com/"), "_blank");
}
public function get musicOn():Boolean{
return (_musicOn);
}
public function initGameover():void{
if (dataObj.player0.type == dataObj.player1.type){
btnSs.visible = false;
};
if (score == 0){
btnSs.visible = false;
} else {
btnSs.onPress = function (){
showSubmitScore();
};
};
if ((((dataObj.player0.type == 0)) && ((dataObj.player1.type == 0)))){
score_mc.visible = false;
scoreTxt.text = "";
} else {
score_mc.visible = true;
scoreTxt.text = String(score);
};
btnPa.onPress = function (){
score0 = (score1 = 0);
score = 0;
roundNum = 1;
winNum0 = 0;
winNum1 = 0;
fadeTo("game");
};
intelligenceTxt0.text = ((dataObj.player0.type == 1)) ? "" : intellStrArr[dataObj.player0.intelligence];
intelligenceTxt1.text = ((dataObj.player1.type == 1)) ? "" : intellStrArr[dataObj.player1.intelligence];
statusTxt0.text = ((((dataObj.player0.type == 1)) ? "P1" : "CPU" + ":") + winNum0);
statusTxt1.text = ((((dataObj.player1.type == 1)) ? "P2" : "CPU" + ":") + winNum1);
}
public function shake():void{
x = (x + ((Math.random() - 0.5) * 20));
y = (y + ((Math.random() - 0.5) * 20));
stage.addEventListener(Event.ENTER_FRAME, shakeRun);
}
public function init():void{
sndBg = new SndBg();
musicOn = true;
soundOn = true;
}
public function initBtn(_arg1:Btn):void{
var btn = _arg1;
switch (btn.label){
case "Play Game":
btn.onPress = function (){
if (isFirstPlay){
isFirstPlay = false;
fadeTo("instructions");
} else {
playGame();
};
};
break;
case "Instructions":
btn.onPress = function (){
fadeTo("instructions");
};
break;
case "View Highscores":
btn.onPress = function (){
getURL(("http://www.freeworldgroup.com/score/index.asp?game=" + gameName));
};
break;
case "Download Games":
btn.onPress = function (){
getURL("http://www.ifungames.com");
};
break;
case "More Online Games":
btn.onPress = function (){
getURL("http://www.ifungames.com");
};
break;
case "Add Games to Your Site":
btn.onPress = function (){
getURL("http://www.freeworldgroup.com/koalafiles.htm");
};
break;
case "Copyright 2007 freeworldgroup.com":
btn.onPress = function (){
getURL("http://www.freeworldgroup.com");
};
break;
case "Credits":
btn.onPress = function (){
showCredits();
};
break;
case "Menu":
btn.onPress = function (){
gotoMenu();
};
break;
};
}
public function openOptions():void{
trace("open options");
}
public function playGame():void{
fadeTo("options");
}
public function get soundOn():Boolean{
return (_soundOn);
}
public function gotoMenu(_arg1:Boolean=true):void{
var showAlert = _arg1;
if (showAlert){
Alert.show("Back To Menu?", function (_arg1:Boolean):void{
if (_arg1){
fadeTo("menu");
};
});
};
}
private function shakeRun(_arg1:Event):void{
x = (x - (x * 1.8));
y = (y - (y * 1.8));
if (((x * x) + (y * y)) < 5){
x = (y = 0);
stage.removeEventListener(Event.ENTER_FRAME, shakeRun);
};
}
function frame139(){
roundTxt.text = ("ROUND " + roundNum);
btnGrid.onPress = function (){
if (this.currentFrame == 1){
this.nextFrame();
game.hideGrid();
} else {
this.prevFrame();
game.showGrid();
};
popUp.hide();
};
trace(("roundNum=" + roundNum));
game.init();
game.onStageClear = function (_arg1:Array, _arg2:Array){
valueArr0 = _arg1;
valueArr1 = _arg2;
fadeTo("stageClear");
};
}
function frame135(){
stop();
init();
fadeTo("menu");
}
public function set musicOn(_arg1:Boolean){
_musicOn = _arg1;
if (_musicOn){
sndBgChannal = sndBg.play(0, 10000);
sndBgChannal.addEventListener(Event.SOUND_COMPLETE, bgMusicCompleteHandler);
} else {
sndBgChannal.stop();
sndBgChannal.removeEventListener(Event.SOUND_COMPLETE, bgMusicCompleteHandler);
};
}
function frame136(){
score0 = (score1 = 0);
score = 0;
roundNum = 1;
winNum0 = 0;
winNum1 = 0;
}
function frame140(){
bonusArr = [4, 2, 1];
intellStrArr = ["GENIUS", "ORDINARY", "DUMB"];
totalValue0 = getTotalValue(valueArr0);
totalValue1 = getTotalValue(valueArr1);
btnTxt.mouseEnabled = false;
btnNext.onPress = function (){
fadeTo("game");
};
if (totalValue0 == totalValue1){
winTxt.text = "DRAW";
btnTxt.text = "REPLAY ROUND";
} else {
if (totalValue0 > totalValue1){
winColor = 0;
} else {
winColor = 1;
};
var _local2 = this;
var _local3 = ("winNum" + winColor);
var _local4 = (_local2[_local3] + 1);
_local2[_local3] = _local4;
if (dataObj.player1.type == 1){
score0 = (score0 + totalValue0);
} else {
score0 = (score0 + (totalValue0 * bonusArr[dataObj.player1.intelligence]));
};
if (dataObj.player0.type == 1){
score1 = (score1 + totalValue1);
} else {
score1 = (score1 + (totalValue1 * bonusArr[dataObj.player0.intelligence]));
};
totalRound = (((2 - dataObj.gameNum) * 2) + 3);
winObj = dataObj[("player" + winColor)];
if ((totalValue0 * totalValue1) == 0){
staleMateTxt.text = "";
winTxt.text = ((winObj.playerName + ((winObj.type == 1)) ? "" : " (CPU)") + " WINS ROUND!");
} else {
staleMateTxt.text = "STALEMATE";
winTxt.text = ((winObj.playerName + ((winObj.type == 1)) ? "" : " (CPU)") + " WINS ROUND (ON A POINTS BASIS)!");
};
btnTxt.text = "PLAY NEXT ROUND";
halfRound = (int((totalRound / 2)) + 1);
if ((((winNum0 >= halfRound)) || ((winNum1 >= halfRound)))){
btnTxt.text = "CLICK TO CONTINUE";
btnNext.onPress = function (){
if (dataObj.player0.type == dataObj.player1.type){
fadeTo("gameover");
} else {
if ((((((dataObj.player0.type == 1)) && ((winNum0 < winNum1)))) || ((((dataObj.player1.type == 1)) && ((winNum0 > winNum1)))))){
fadeTo("lose");
} else {
fadeTo("gameover");
};
};
};
};
};
if (dataObj.player0.type == dataObj.player1.type){
if (winNum0 > winNum1){
score = score0;
playerName = dataObj.player0.playerName;
} else {
score = score1;
playerName = dataObj.player1.playerName;
};
} else {
if (dataObj.player0.type == 1){
score = score0;
playerName = dataObj.player0.playerName;
} else {
score = score1;
playerName = dataObj.player1.playerName;
};
};
trace(((((("score0=" + score0) + ",score1=") + score1) + ",score=") + score));
if ((((dataObj.player0.type == 0)) && ((dataObj.player1.type == 0)))){
results_mc.init2(winNum0, winNum1, intellStrArr[dataObj.player0.intelligence], intellStrArr[dataObj.player1.intelligence]);
} else {
results_mc.init(roundNum, score0, score1, dataObj.player0.type, dataObj.player1.type, dataObj.player0.playerName, dataObj.player1.playerName, dataObj.player0.intelligence, dataObj.player1.intelligence, valueArr0, valueArr1);
};
if (totalValue0 == totalValue1){
} else {
roundNum++;
};
}
function frame138(){
btnBack.onPress = function (){
saveSetting(playerSelect0.getSetting(), playerSelect1.getSetting());
fadeTo("menu");
};
btnOK.onPress = function (){
obj0 = playerSelect0.getSetting();
obj1 = playerSelect1.getSetting();
if ((((obj0.playerName == defaultName)) && ((obj0.type == 1)))){
popUp.show("Input Name!", playerSelect0.nameTxt);
setTimeout(hidePopUp, 2000);
} else {
if ((((obj1.playerName == defaultName)) && ((obj1.type == 1)))){
popUp.show("Input Name!", playerSelect1.nameTxt);
setTimeout(hidePopUp, 2000);
} else {
saveSetting(playerSelect0.getSetting(), playerSelect1.getSetting());
fadeTo("game");
};
};
};
player = dataObj.player0;
playerSelect0.init(player.type, player.intelligence, player.playerName);
player = dataObj.player1;
playerSelect1.init(player.type, player.intelligence, player.playerName);
combBestNum.arr = ["BEST OF 7", "BEST OF 5", "BEST OF 3"];
combBestNum.selectedIndex = dataObj.gameNum;
combBestNum.onChange = function (){
dataObj.gameNum = combBestNum.selectedIndex;
};
}
function frame142(){
initGameover();
if (winNum0 >= halfRound){
winTxt.text = (dataObj.player0.playerName + " WINS!");
} else {
winTxt.text = (dataObj.player1.playerName + " WINS!");
};
}
function frame141(){
initGameover();
}
}
}//package
Section 83
//MochiAd (MochiAd)
package {
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.utils.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("1.5");
}
public static function showTimedAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
var _local2:MovieClip;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
_local2 = this.parent.parent;
MochiAd.unload(_local2);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = _local1.loaderInfo.bytesTotal;
if ((((_local4 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
_local3 = true;
};
};
};
if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
_arg1.removeChild(_arg1._mochiad);
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["sendHighScore", _arg1], _arg2, _arg3);
return (true);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var f:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip._mochiad_loaded){
return (null);
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
if (clip.loaderInfo.loaderURL.indexOf("http") != 0){
options.no_page = true;
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
mc["onEnterFrame"] = function ():void{
if (!this._mochiad_ctr){
delete this["onEnterFrame"];
MochiAd.unload(this.parent);
};
};
doOnEnterFrame(mc);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
f = function (_arg1:Object):void{
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function _loadCommunicator(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var clipname:String;
var server:String;
var depth:Number;
var mc:MovieClip;
var lv:URLVariables;
var k:String;
var lc:LocalConnection;
var name:String;
var req:URLRequest;
var loader:Loader;
var options = _arg1;
DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
clipname = ("_mochiad_com_" + options.id);
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip[clipname]){
return (clip[clipname]);
};
server = (options.com_server + options.id);
MochiAd._allowDomains(server);
delete options.id;
delete options.com_server;
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, clipname, depth);
lv = new URLVariables();
for (k in options) {
lv[k] = options[k];
};
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.name = name;
mc.lc = lc;
lv.lc = name;
mc._id = 0;
mc._queue = [];
mc.rpcResult = function (_arg1:Object):void{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:Object;
_arg1 = parseInt(_arg1.toString());
_local3 = mc._callbacks[_arg1];
if (typeof(_local3) == "undefined"){
return;
};
delete mc._callbacks[_arg1];
_local4 = [];
_local5 = 2;
while (_local5 < _local3.length) {
_local4.push(_local3[_local5]);
_local5++;
};
_local5 = 1;
while (_local5 < arguments.length) {
_local4.push(arguments[_local5]);
_local5++;
};
_local6 = _local3[1];
_local7 = _local3[0];
if (((_local7) && ((typeof(_local6) == "string")))){
_local6 = _local7[_local6];
};
if (typeof(_local6) == "function"){
_local6.apply(_local7, _local4);
};
};
mc._didConnect = function (_arg1:String):void{
var _local2:Array;
var _local3:Function;
var _local4:Number;
var _local5:Array;
mc._endpoint = _arg1;
_local2 = mc._queue;
delete mc._queue;
_local3 = mc.doSend;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local3.apply(this, _local5);
_local4++;
};
};
mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{
var _local5:Number;
var _local6:LocalConnection;
var _local7:Array;
var _local8:Number;
if (mc._endpoint == null){
_local7 = [];
_local8 = 0;
while (_local8 < arguments.length) {
_local7.push(arguments[_local8]);
_local8++;
};
mc._queue.push(_local7);
return;
};
mc._id = (mc._id + 1);
_local5 = mc._id;
mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))];
_local6 = new LocalConnection();
_local6.send(mc._endpoint, "rpc", _local5, _arg1);
};
mc._callbacks = {};
mc._callbacks[0] = [mc, "_didConnect"];
lv.st = getTimer();
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
loader.load(req);
mc.addChild(loader);
mc._mochiad_com = loader;
return (mc);
}
public static function showPreloaderAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{
this.clip.stop();
}, ad_finished:function ():void{
this.clip.play();
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
bar.x = 10;
bar.y = (h - 20);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
var _local2:MovieClip;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
_local2 = this.parent.parent;
MochiAd.unload(_local2);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
_local1 = this.parent.parent.root;
if (!_local1){
delete this["onEnterFrame"];
return;
};
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
if (!chk.showing){
_local11 = _local2.loaderInfo.bytesTotal;
if ((((_local11 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local3 > chk.ad_timeout){
_local4 = true;
};
};
};
if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local4 = true;
};
if ((((((_local5 > 0)) && ((_local6 >= _local5)))) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3);
return (true);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
mc.removeEventListener(Event.ENTER_FRAME, f);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 84
//MusicCredits (MusicCredits)
package {
import flash.display.*;
import flash.events.*;
public class MusicCredits extends MovieClip {
public var btnBack:BtnBack;
public function MusicCredits(){
super();
this.visible = false;
btnBack.onPress = function (){
hide();
};
}
private function showRun(_arg1:Event):void{
if ((this.alpha = (this.alpha + 0.1)) > 0.95){
this.alpha = 1;
stage.removeEventListener(Event.ENTER_FRAME, showRun);
};
}
public function hide():void{
stage.removeEventListener(Event.ENTER_FRAME, showRun);
stage.addEventListener(Event.ENTER_FRAME, hideRun);
}
private function hideRun(_arg1:Event):void{
if ((this.alpha = (this.alpha - 0.1)) < 0.05){
this.alpha = 0;
this.visible = false;
stage.removeEventListener(Event.ENTER_FRAME, hideRun);
};
}
public function show():void{
this.visible = true;
this.alpha = 0;
stage.removeEventListener(Event.ENTER_FRAME, hideRun);
stage.addEventListener(Event.ENTER_FRAME, showRun);
}
}
}//package
Section 85
//PlayerSelect (PlayerSelect)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.filters.*;
public class PlayerSelect extends MovieClip {
public var comb1:Combo;
public var comb2:Combo;
public var prevName:String;
public var nameTxt:MovieClip;
public function PlayerSelect(){
super();
nameTxt.nameTxt.addEventListener(FocusEvent.FOCUS_IN, onFocusIn);
nameTxt.nameTxt.addEventListener(FocusEvent.FOCUS_OUT, onFocusOut);
comb1.arr = ["COMPUTER", "HUMAN"];
comb2.arr = ["GENIUS", "ORDINARY", "DUMB"];
comb1.onChange = function (){
switch (this.label){
case "HUMAN":
comb2.selectAble = false;
nameTxt.nameTxt.mouseEnabled = true;
nameTxt.filters = [];
break;
default:
comb2.selectAble = true;
nameTxt.nameTxt.mouseEnabled = false;
nameTxt.filters = [new ColorMatrixFilter([0.15, 0.295, 0.055, 0, 0, 0.15, 0.295, 0.055, 0, 0, 0.15, 0.295, 0.055, 0, 0, 0, 0, 0, 1, 0])];
break;
};
};
comb1.onChange();
}
public function init(_arg1:int, _arg2:int, _arg3:String):void{
comb1.selectedIndex = _arg1;
comb2.selectedIndex = _arg2;
nameTxt.nameTxt.text = _arg3;
}
public function getSetting():Object{
return ({type:comb1.selectedIndex, intelligence:comb2.selectedIndex, playerName:nameTxt.nameTxt.text});
}
public function onFocusIn(_arg1:FocusEvent):void{
prevName = nameTxt.nameTxt.text;
nameTxt.nameTxt.text = "";
}
public function onFocusOut(_arg1:FocusEvent):void{
if (nameTxt.nameTxt.text == ""){
nameTxt.nameTxt.text = prevName;
};
nameTxt.nameTxt.text = nameTxt.nameTxt.text.split(".").join("");
nameTxt.nameTxt.text = nameTxt.nameTxt.text.split(" ").join("");
}
}
}//package
Section 86
//QualitySetting (QualitySetting)
package {
import flash.display.*;
import flash.events.*;
public class QualitySetting extends MovieClip {
public var btnOK:BtnOK;
public var btn3:BtnQ3;
public var btn0:BtnQ0;
public var btn2:BtnQ2;
public var btn1:BtnQ1;
public var onHide:Function;
public var hitRec:MovieClip;
public function QualitySetting(){
var i:int;
super();
quality = stage.quality;
onHide = function (){
};
this.visible = false;
i = 0;
while (i < 4) {
this[("btn" + i)].onPress = function (){
quality = this.label;
};
i = (i + 1);
};
hitRec.addEventListener(MouseEvent.MOUSE_DOWN, hide);
btnOK.onPress = hide;
}
public function show():void{
this.visible = true;
quality = stage.quality;
}
public function set quality(_arg1:String):void{
var _local2:int;
var _local3:*;
_local2 = 0;
while (_local2 < 4) {
_local3 = this[("btn" + _local2)];
if (_local3.label == _arg1){
_local3.selected = true;
} else {
_local3.selected = false;
};
_local2++;
};
stage.quality = _arg1;
}
public function hide(_arg1:MouseEvent=null):void{
visible = false;
onHide();
}
}
}//package
Section 87
//ResultPad (ResultPad)
package {
import flash.display.*;
import flash.text.*;
public class ResultPad extends MovieClip {
public var bonusLabelTxt:TextField;
public var numTxt3:TextField;
public var numTxt4:TextField;
public var numTxt5:TextField;
public var totalLabelTxt:TextField;
public var numTxt1:TextField;
public var numTxt2:TextField;
public var numTxt6:TextField;
public var scoreLabelTxt:TextField;
public var totalScoreLabelTxt:TextField;
public var scoreTxt:TextField;
public var totalTxt:TextField;
public var bonusTxt:TextField;
public var nameTxt:TextField;
public var totalScoreTxt:TextField;
public function init(_arg1:int, _arg2:int, _arg3:String, _arg4:Array, _arg5:int=0):void{
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:TextField;
_local6 = 1;
while (_local6 <= 6) {
this[("numTxt" + _local6)].text = "0";
_local6++;
};
nameTxt.text = _arg3;
_local7 = 0;
for each (_local8 in _arg4) {
_local9 = this[("numTxt" + _local8)];
_local9.text = String((Number(_local9.text) + 1));
_local7 = (_local7 + _local8);
};
totalTxt.text = String(_local7);
if (_arg5 > 0){
totalLabelTxt.text = "Sub Total:";
bonusLabelTxt.text = "Level Bonus:";
bonusTxt.text = (_arg5 + "x");
scoreLabelTxt.text = (("Rnd " + _arg1) + " Score:");
scoreTxt.text = String((_local7 * _arg5));
if (_arg1 == 1){
totalScoreLabelTxt.text = "";
totalScoreTxt.text = "";
} else {
totalScoreLabelTxt.text = "Total Score:";
totalScoreTxt.text = String(_arg2);
};
} else {
totalLabelTxt.text = (("Rnd " + _arg1) + " Score:");
if (_arg1 == 1){
bonusLabelTxt.text = "";
bonusTxt.text = "";
} else {
bonusLabelTxt.text = "Total Score:";
bonusTxt.text = String(_arg2);
};
scoreLabelTxt.text = "";
scoreTxt.text = "";
totalScoreLabelTxt.text = "";
totalScoreTxt.text = "";
};
}
}
}//package
Section 88
//SndB1 (SndB1)
package {
import flash.media.*;
public dynamic class SndB1 extends Sound {
}
}//package
Section 89
//SndB2 (SndB2)
package {
import flash.media.*;
public dynamic class SndB2 extends Sound {
}
}//package
Section 90
//SndB3 (SndB3)
package {
import flash.media.*;
public dynamic class SndB3 extends Sound {
}
}//package
Section 91
//SndB4 (SndB4)
package {
import flash.media.*;
public dynamic class SndB4 extends Sound {
}
}//package
Section 92
//SndB5 (SndB5)
package {
import flash.media.*;
public dynamic class SndB5 extends Sound {
}
}//package
Section 93
//SndB6 (SndB6)
package {
import flash.media.*;
public dynamic class SndB6 extends Sound {
}
}//package
Section 94
//SndBg (SndBg)
package {
import flash.media.*;
public dynamic class SndBg extends Sound {
}
}//package
Section 95
//SndPress (SndPress)
package {
import flash.media.*;
public dynamic class SndPress extends Sound {
}
}//package
Section 96
//SndRollOver (SndRollOver)
package {
import flash.media.*;
public dynamic class SndRollOver extends Sound {
}
}//package
Section 97
//SubmitScore (SubmitScore)
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import flash.net.*;
public class SubmitScore extends MovieClip {
private var loader:URLLoader;
private var variables:URLVariables;
public var btnX:BtnX;
private var request:URLRequest;
public var btnSubmit:BtnSubmit;
public var scoreTxt:TextField;
private var main;
private var game_name:String;
public var nameTxt:TextField;
public function SubmitScore(){
super();
this.stop();
this.visible = false;
main = stage.getChildAt(0);
game_name = main.gameName;
nameTxt.text = main.playerName;
scoreTxt.text = String(main.score);
trace(((((("main=" + main) + ",main.playerName=") + main.playerName) + ",main.score=") + main.score));
variables = new URLVariables();
request = new URLRequest("http://www.freeworldgroup.com/score/score.asp");
variables.game = game_name;
scoreTxt.text = String(main.score);
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
btnSubmit.onPress = function (){
submit();
};
btnX.onPress = function (){
hide();
};
}
function errorHandler(_arg1:IOErrorEvent):void{
trace(("error: " + _arg1));
}
function submit():void{
variables.score = scoreTxt.text;
if (nameTxt.text == ""){
nameTxt.text = "guest";
};
main.playerName = (variables.name = nameTxt.text);
request.data = variables;
request.method = URLRequestMethod.POST;
trace(((("sendToURL: " + request.url) + "?") + request.data));
sendToURL(request);
loader.load(request);
gotoAndStop(2);
main.btnSs.visible = false;
}
function hide(){
this.visible = false;
this.gotoAndStop(1);
}
function completeHandler(_arg1:Event):void{
trace("complete");
gotoAndStop(3);
}
function show(){
this.visible = true;
trace(("this=" + this));
trace(((this.x + ",") + this.y));
trace(this.visible);
}
}
}//package