STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228131
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/31312865?noj=FRM31312865-15DC" width="1" height="1"></div>

Scarab Solitaire.swf

This is the info page for
Flash #66243

(Click the ID number above for more basic data on this flash file.)


Text
<p align="right"></p>

<p align="right"></p>

<p align="left"><font face="NimbusSanLCon" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>GAME COMPLETED</b></font></p>

<p align="left"><font face="NimbusSanLCon" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Score:</b></font></p>

<p align="left"><font face="NimbusSanLCon" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Best Score:</b></font></p>

<p align="left"></p>

PLAY AGAIN

G

PLAY AGAINST OTHERS AT GAMARENA

<p align="left"><font face="Myriad Pro" size="16" color="#93ca00" letterSpacing="0.000000" kerning="1">Loading</font></p>

<p align="left"><font face="Myriad Pro" size="16" color="#93ca00" letterSpacing="0.000000" kerning="1">Loading.</font></p>

<p align="left"><font face="Myriad Pro" size="16" color="#93ca00" letterSpacing="0.000000" kerning="1">Loading..</font></p>

<p align="left"><font face="Myriad Pro" size="16" color="#93ca00" letterSpacing="0.000000" kerning="1">Loading...</font></p>

<p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Move Cards</font></p>

<p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Click the cards to move them down from the Pyramids. Try to clear all of the cards in each level to move on to the next one</font></p>

PLAY

?

INSTRUCTIONS

?

INSTRUCTIONS

<p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Click the cards in the Pyramids to move them down and on to the play pile.</font></p><p align="left"></p><p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Cards can be moved down if they are one lower or one higher than the top card shown on the play pile. Aces count as both 1 and 14 </font></p>

<p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">If the timer runs out before you make a move, the top card of the stock pile will automatically be drawn to the top of the play pile.</font></p>

<p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Clear the three blue Scarab cards &nbsp;to finish a level, there are five levels in the game</font></p>

<p align="left"><font face="NimbusSanLCon" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>INSTRUCTIONS</b></font></p>

BASICS

BASICS

BASICS

SCORING

SCORING

SCORING

x

CLOSE

<p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">For each card moved down from the Pyramids you receive 10 points plus the current Time Bonus.</font></p><p align="left"></p><p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">The Time Bonus is between 0-9 points.</font></p><p align="left"></p><p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">For each card in a row you receive an extra 10 points, so the fifth card in a run will score you 50 points plus Time Bonus. (10 for the last card and 4*10 for the cards before that).</font></p><p align="left"></p><p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">Each blue Scarab card is worth 1000 points.</font></p><p align="left"></p><p align="left"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">For each card left in the draw pile when the level is cleared, you receive 10 points plus 10 points extra for each card before that. So, for example, three cards left will give you 60 points, 10 + 20 + 30 points.</font></p>

No More Moves!

<p align="right"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">0</font></p>

<p align="right"><font face="Myriad Pro" size="12" color="#ffffff" letterSpacing="0.000000" kerning="1">1</font></p>

<p align="left"><font face="NimbusSanLCon" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Score</b></font></p>

<p align="left"><font face="NimbusSanLCon" size="10" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>Level</b></font></p>

ActionScript [AS3]

Section 1
//png (clock1.png) package clock1 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock1
Section 2
//png (clock10.png) package clock10 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock10
Section 3
//png (clock11.png) package clock11 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock11
Section 4
//png (clock12.png) package clock12 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock12
Section 5
//png (clock13.png) package clock13 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock13
Section 6
//png (clock14.png) package clock14 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock14
Section 7
//png (clock15.png) package clock15 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock15
Section 8
//png (clock16.png) package clock16 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock16
Section 9
//png (clock17.png) package clock17 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock17
Section 10
//png (clock18.png) package clock18 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock18
Section 11
//png (clock19.png) package clock19 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock19
Section 12
//png (clock2.png) package clock2 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock2
Section 13
//png (clock20.png) package clock20 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock20
Section 14
//png (clock21.png) package clock21 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock21
Section 15
//png (clock22.png) package clock22 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock22
Section 16
//png (clock23.png) package clock23 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock23
Section 17
//png (clock24.png) package clock24 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock24
Section 18
//png (clock25.png) package clock25 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock25
Section 19
//png (clock26.png) package clock26 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock26
Section 20
//png (clock27.png) package clock27 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock27
Section 21
//png (clock28.png) package clock28 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock28
Section 22
//png (clock29.png) package clock29 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock29
Section 23
//png (clock3.png) package clock3 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock3
Section 24
//png (clock30.png) package clock30 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock30
Section 25
//png (clock31.png) package clock31 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock31
Section 26
//png (clock32.png) package clock32 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock32
Section 27
//png (clock33.png) package clock33 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock33
Section 28
//png (clock34.png) package clock34 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock34
Section 29
//png (clock35.png) package clock35 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock35
Section 30
//png (clock36.png) package clock36 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock36
Section 31
//png (clock37.png) package clock37 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock37
Section 32
//png (clock38.png) package clock38 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock38
Section 33
//png (clock39.png) package clock39 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock39
Section 34
//png (clock4.png) package clock4 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock4
Section 35
//png (clock40.png) package clock40 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock40
Section 36
//png (clock41.png) package clock41 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock41
Section 37
//png (clock42.png) package clock42 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock42
Section 38
//png (clock43.png) package clock43 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock43
Section 39
//png (clock44.png) package clock44 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock44
Section 40
//png (clock45.png) package clock45 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock45
Section 41
//png (clock46.png) package clock46 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock46
Section 42
//png (clock47.png) package clock47 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock47
Section 43
//png (clock48.png) package clock48 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock48
Section 44
//png (clock49.png) package clock49 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock49
Section 45
//png (clock5.png) package clock5 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock5
Section 46
//png (clock50.png) package clock50 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock50
Section 47
//png (clock51.png) package clock51 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock51
Section 48
//png (clock52.png) package clock52 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock52
Section 49
//png (clock53.png) package clock53 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock53
Section 50
//png (clock54.png) package clock54 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock54
Section 51
//png (clock55.png) package clock55 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock55
Section 52
//png (clock56.png) package clock56 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock56
Section 53
//png (clock57.png) package clock57 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock57
Section 54
//png (clock58.png) package clock58 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock58
Section 55
//png (clock59.png) package clock59 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock59
Section 56
//png (clock6.png) package clock6 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock6
Section 57
//png (clock60.png) package clock60 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock60
Section 58
//png (clock7.png) package clock7 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock7
Section 59
//png (clock8.png) package clock8 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock8
Section 60
//png (clock9.png) package clock9 { import flash.display.*; public dynamic class png extends BitmapData { public function png(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package clock9
Section 61
//IGameController (controller.IGameController) package controller { import flash.events.*; public interface IGameController { function togglePause():void; function startGame(_arg1:MouseEvent):void; function gameCompleted(_arg1:String, _arg2:String):void; function instructionBtnClick():void; } }//package controller
Section 62
//ScarabGameController (controller.ScarabGameController) package controller { import flash.events.*; import model.*; import view.*; import fl.transitions.*; import fl.transitions.easing.*; import flash.utils.*; import flash.net.*; public class ScarabGameController extends EventDispatcher { private const INTROCOMPLETE:int = 5; private const MOVECARDS:int = 0; private const PLAYSCARAB:int = 2; private const COMPLETE:int = 6; private const SHOWFIRSTCARD:int = 4; private const CHANGETOPCARDS:int = 3; private const FLIP10CARDS:int = 1; private var _view:ScarabGameView; private var _scoreTween:Tween; private var _main:ScarabSolitaireGame; private var _musicManager:MusicManager; private var _model:ScarabGameModel; private var _acceptingInput:Boolean;// = false private var _gameOver:Boolean;// = false private var _paused:Boolean;// = false private var _introSequence:int;// = 0 private var _flipTimer:Timer; private var _scoreScreen:AbstractScoreScreen; private var _cardsLeftTimer:Timer; public function ScarabGameController(_arg1:ScarabGameModel){ _acceptingInput = false; _gameOver = false; _paused = false; _introSequence = MOVECARDS; super(); _model = _arg1; _model.addEventListener("deckEmpty", checkIfGameOver, false, 0, true); _model.addEventListener("levelCompleted", levelCompleted, false, 0, true); _main = ScarabSolitaireGame.MainGame; _musicManager = MusicManager.getInstance(); _musicManager.controller = this; _main.addChild(_musicManager); init(); } private function playLevelCompleteAnimation():void{ var _local1:int; _local1 = ((_model.getNumberOfCardsLeftInDeck() + 1) + 10); if (_local1 != 0){ _cardsLeftTimer = new Timer(200, _local1); _cardsLeftTimer.addEventListener(TimerEvent.TIMER, onCardsLeftTimer, false, 0, true); _cardsLeftTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onCardsLeftTimerComplete, false, 0, true); _cardsLeftTimer.start(); } else { levelAnimationComplete(); }; } private function playAgain(_arg1:Event=null):void{ _view.removeEventListener(Consts.HOWTOPLAYCLICK, onHowToPlayClick); _view.removeEventListener(Consts.PLAYCLICK, onPlayClick); _view.removeEventListener(Consts.BACKCLICK, onHowToPlayBackClick); _view.removeEventListener(Consts.DECKDRAG, onDeckDrag); _view.removeEventListener(Consts.GAMARENACLICK, gotoGamarena); _view.removeEventListener(Consts.PLAYAGAINCLICK, playAgain); _model.removeEventListener("deckEmpty", checkIfGameOver); _model.removeEventListener("levelCompleted", levelCompleted); if (_view != null){ if (_view.parent == _main){ _main.removeChild(_view); }; }; ImageManager.getInstance().init(); Score.getInstance().init(); ScarabSolitaireGame.MainGame.playAgain(); } private function init():void{ _view = new ScarabGameView(this, _model); _view.addEventListener(Consts.HOWTOPLAYCLICK, onHowToPlayClick, false, 0, true); _view.addEventListener(Consts.PLAYCLICK, onPlayClick, false, 0, true); _view.addEventListener(Consts.BACKCLICK, onHowToPlayBackClick, false, 0, true); _view.addEventListener(Consts.DECKDRAG, onDeckDrag, false, 0, true); _view.addEventListener(Consts.GAMARENACLICK, gotoGamarena, false, 0, true); _view.addEventListener(Consts.PLAYAGAINCLICK, playAgain, false, 0, true); _main.addChild(_view); _view.createCards(); _view.displaySplash(); } private function gotoGamarena(_arg1:Event=null):void{ var _local2:URLRequest; _local2 = new URLRequest("https://www.gamarena.com/w/v/client/info?action=partner&id=pdp126"); navigateToURL(_local2, "_blank"); } private function onFlipTimerComplete(_arg1:TimerEvent):void{ playIntro(); } public function pauseGame():void{ _paused = true; _acceptingInput = false; _model.stopClock(); } public function startGame():void{ _view.displayBackground(); _view.displayScoreFadeText(); _view.displayScarab(); _view.displayClockView(); _view.displayBoard(); _view.displayCards(); _view.displayTopBar(); playIntro(); playMusic(); } private function onHowToPlayBackClick(_arg1:Event=null):void{ _view.removeHowToPlay(); } private function onCardsLeftTimer(_arg1:TimerEvent):void{ if (_model.getNumberOfCardsLeftInDeck() > -1){ _model.revealTopDeckCard(); Score.getInstance().cardLeftAddToScore(); }; } private function onPlayClick(_arg1:Event=null):void{ startGame(); } private function levelCompleted(_arg1:Event):void{ Clock.getInstance().stop(); _acceptingInput = false; playLevelCompleteAnimation(); } public function playIntro():void{ switch (_introSequence){ case MOVECARDS: _introSequence = FLIP10CARDS; _view.moveCards(); break; case FLIP10CARDS: _introSequence = PLAYSCARAB; flip10Cards(); break; case PLAYSCARAB: _introSequence = CHANGETOPCARDS; _view.playScarab(); break; case CHANGETOPCARDS: _introSequence = SHOWFIRSTCARD; _view.changeTopCards(); break; case SHOWFIRSTCARD: _introSequence = INTROCOMPLETE; showFirstCard(); break; case INTROCOMPLETE: _introSequence = COMPLETE; introComplete(); break; }; } public function cardClicked(_arg1:CardModel):void{ if (_acceptingInput){ if (_model.isLegal(_arg1)){ if (!_model.isDeckCard(_arg1)){ if (_arg1.cardScore == 1000){ _view.addScarabPiece(); }; _model.cardScore(_arg1); _model.newCheckCard(_arg1); }; } else { if (_model.isDeckCard(_arg1)){ _model.revealTopDeckCard(); } else { if (_arg1.removed){ _model.revealTopDeckCard(); }; }; }; }; } public function resumeGame():void{ _paused = false; _acceptingInput = true; _model.resumeClock(); } private function onWaitCompleted(_arg1:Event=null):void{ var score:int; var level:int; var event = _arg1; try { score = Score.getInstance().getGameOverTotalScore(); level = _model.currentLevel; if (_gameOver){ level = 6; }; if (_scoreScreen != null){ if (_scoreScreen.parent == _view){ _view.removeChild(_scoreScreen); }; }; _view.displayProfile(); } catch(e:Error) { ErrorHandler.getInstance().printError(e); }; } private function onHowToPlayClick(_arg1:Event=null):void{ _view.displayHowToPlay(); } private function checkIfGameOver(_arg1:Event):void{ var noMoreMovesTween:NoMoreMovesTween; var event = _arg1; try { if (_acceptingInput){ if (_model.isGameOver()){ dispatchEvent(new Event("GameOver")); _acceptingInput = false; _gameOver = true; _musicManager.stopMusic(); noMoreMovesTween = new NoMoreMovesTween(); noMoreMovesTween.addEventListener("playFadeComplete", showGameOverScreen); _view.displayNoMoreMovesTween(noMoreMovesTween); noMoreMovesTween.playFade(); }; }; } catch(e:Error) { ErrorHandler.getInstance().printError(e); }; } private function introComplete():void{ if (!_paused){ Clock.getInstance().start(); _acceptingInput = true; }; } private function showGameOverScreen(_arg1:Event):void{ var noMoreMovesTween:NoMoreMovesTween; var event = _arg1; try { noMoreMovesTween = NoMoreMovesTween(event.target); noMoreMovesTween.removeEventListener("playFadeComplete", showGameOverScreen); _view.removeNoMoreMovesTween(); onWaitCompleted(); } catch(e:Error) { }; } public function levelScoreTimerComplete():void{ _model.resetLevel(); _model.incrementLevel(); _view.removeChild(_scoreScreen); _view.resetCards(); _view.setCardImages(); _view.moveCardsToDefault(); _view.resetScarab(); resetIntro(); playIntro(); } private function playMusic():void{ _musicManager.startMusic(); } private function resetIntro():void{ _introSequence = MOVECARDS; } private function showScoreScreen(_arg1:AbstractScoreScreen):void{ _view.addChild(_arg1); _arg1.displayHeader(); _arg1.y = 200; _scoreTween = new Tween(_arg1, "x", Strong.easeOut, -300, 170, 1, true); _scoreTween.addEventListener(TweenEvent.MOTION_FINISH, onTweenFinished); } private function showFirstCard():void{ _model.revealTopDeckCard(); playIntro(); } private function onFlipTimer(_arg1:TimerEvent):void{ var _local2:Timer; var _local3:int; _local2 = (_arg1.target as Timer); _local3 = (_local2.currentCount + 23); _model.setCardActive(_local3); } private function onTweenFinished(_arg1:TweenEvent):void{ _scoreScreen.display(); } private function onCardsLeftTimerComplete(_arg1:TimerEvent):void{ levelAnimationComplete(); } public function get gameOver():Boolean{ return (_gameOver); } private function onDeckDrag(_arg1:Event=null):void{ _model.playSound(SoundConsts.DECKDRAG); } public function flip10Cards():void{ _flipTimer = new Timer(40, 10); _flipTimer.addEventListener(TimerEvent.TIMER, onFlipTimer, false, 0, true); _flipTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onFlipTimerComplete, false, 0, true); _flipTimer.start(); } public function levelAnimationComplete():void{ try { if (_model.currentLevel == 5){ _gameOver = true; _musicManager.stopMusic(); _scoreScreen = new GameOverScoreScreen(this, _model); _scoreScreen.addEventListener("waitComplete", onWaitCompleted, false, 0, true); showScoreScreen(_scoreScreen); } else { _scoreScreen = new ScoreScreen(this, _model); showScoreScreen(_scoreScreen); }; } catch(e:Error) { ErrorHandler.getInstance().printError(e); }; } } }//package controller
Section 63
//Strong (fl.transitions.easing.Strong) package fl.transitions.easing { public class Strong { public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = ((_arg1 / _arg4) - 1); return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / (_arg4 / 2)); if (_arg1 < 1){ return ((((((((_arg3 / 2) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2)); }; _arg1 = (_arg1 - 2); return ((((_arg3 / 2) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2)); } } }//package fl.transitions.easing
Section 64
//Tween (fl.transitions.Tween) package fl.transitions { import flash.events.*; import flash.display.*; import flash.utils.*; public class Tween extends EventDispatcher { private var _position:Number;// = NAN public var prevTime:Number;// = NAN public var prevPos:Number;// = NAN public var isPlaying:Boolean;// = false public var begin:Number;// = NAN private var _fps:Number;// = NAN private var _time:Number;// = NAN public var change:Number;// = NAN private var _finish:Number;// = NAN public var looping:Boolean;// = false private var _intervalID:uint;// = 0 public var func:Function; private var _timer:Timer;// = null private var _startTime:Number;// = NAN public var prop:String;// = "" private var _duration:Number;// = NAN public var obj:Object;// = null public var useSeconds:Boolean;// = false protected static var _mc:MovieClip = new MovieClip(); public function Tween(_arg1:Object, _arg2:String, _arg3:Function, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Boolean=false){ isPlaying = false; obj = null; prop = ""; func = function (_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); }; begin = NaN; change = NaN; useSeconds = false; prevTime = NaN; prevPos = NaN; looping = false; _duration = NaN; _time = NaN; _fps = NaN; _position = NaN; _startTime = NaN; _intervalID = 0; _finish = NaN; _timer = null; super(); if (!arguments.length){ return; }; this.obj = _arg1; this.prop = _arg2; this.begin = _arg4; this.position = _arg4; this.duration = _arg6; this.useSeconds = _arg7; if ((_arg3 is Function)){ this.func = _arg3; }; this.finish = _arg5; this._timer = new Timer(100); this.start(); } public function continueTo(_arg1:Number, _arg2:Number):void{ this.begin = this.position; this.finish = _arg1; if (!isNaN(_arg2)){ this.duration = _arg2; }; this.start(); } public function stop():void{ this.stopEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_STOP, this._time, this._position)); } private function fixTime():void{ if (this.useSeconds){ this._startTime = (getTimer() - (this._time * 1000)); }; } public function set FPS(_arg1:Number):void{ var _local2:Boolean; _local2 = this.isPlaying; this.stopEnterFrame(); this._fps = _arg1; if (_local2){ this.startEnterFrame(); }; } public function get finish():Number{ return ((this.begin + this.change)); } public function get duration():Number{ return (this._duration); } protected function startEnterFrame():void{ var _local1:Number; if (isNaN(this._fps)){ _mc.addEventListener(Event.ENTER_FRAME, this.onEnterFrame, false, 0, true); } else { _local1 = (1000 / this._fps); this._timer.delay = _local1; this._timer.addEventListener(TimerEvent.TIMER, this.timerHandler, false, 0, true); this._timer.start(); }; this.isPlaying = true; } public function set time(_arg1:Number):void{ this.prevTime = this._time; if (_arg1 > this.duration){ if (this.looping){ this.rewind((_arg1 - this._duration)); this.update(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_LOOP, this._time, this._position)); } else { if (this.useSeconds){ this._time = this._duration; this.update(); }; this.stop(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_FINISH, this._time, this._position)); }; } else { if (_arg1 < 0){ this.rewind(); this.update(); } else { this._time = _arg1; this.update(); }; }; } protected function stopEnterFrame():void{ if (isNaN(this._fps)){ _mc.removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); } else { this._timer.stop(); }; this.isPlaying = false; } public function getPosition(_arg1:Number=NaN):Number{ if (isNaN(_arg1)){ _arg1 = this._time; }; return (this.func(_arg1, this.begin, this.change, this._duration)); } public function set finish(_arg1:Number):void{ this.change = (_arg1 - this.begin); } public function set duration(_arg1:Number):void{ this._duration = ((_arg1)<=0) ? Infinity : _arg1; } public function setPosition(_arg1:Number):void{ this.prevPos = this._position; if (this.prop.length){ this.obj[this.prop] = (this._position = _arg1); }; this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_CHANGE, this._time, this._position)); } public function resume():void{ this.fixTime(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_RESUME, this._time, this._position)); } public function fforward():void{ this.time = this._duration; this.fixTime(); } protected function onEnterFrame(_arg1:Event):void{ this.nextFrame(); } public function get position():Number{ return (this.getPosition(this._time)); } public function yoyo():void{ this.continueTo(this.begin, this.time); } public function nextFrame():void{ if (this.useSeconds){ this.time = ((getTimer() - this._startTime) / 1000); } else { this.time = (this._time + 1); }; } protected function timerHandler(_arg1:TimerEvent):void{ this.nextFrame(); _arg1.updateAfterEvent(); } public function get FPS():Number{ return (this._fps); } public function rewind(_arg1:Number=0):void{ this._time = _arg1; this.fixTime(); this.update(); } public function set position(_arg1:Number):void{ this.setPosition(_arg1); } public function get time():Number{ return (this._time); } private function update():void{ this.setPosition(this.getPosition(this._time)); } public function start():void{ this.rewind(); this.startEnterFrame(); this.dispatchEvent(new TweenEvent(TweenEvent.MOTION_START, this._time, this._position)); } public function prevFrame():void{ if (!this.useSeconds){ this.time = (this._time - 1); }; } } }//package fl.transitions
Section 65
//TweenEvent (fl.transitions.TweenEvent) package fl.transitions { import flash.events.*; public class TweenEvent extends Event { public var time:Number;// = NAN public var position:Number;// = NAN public static const MOTION_START:String = "motionStart"; public static const MOTION_STOP:String = "motionStop"; public static const MOTION_LOOP:String = "motionLoop"; public static const MOTION_CHANGE:String = "motionChange"; public static const MOTION_FINISH:String = "motionFinish"; public static const MOTION_RESUME:String = "motionResume"; public function TweenEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false){ time = NaN; position = NaN; super(_arg1, _arg4, _arg5); this.time = _arg2; this.position = _arg3; } override public function clone():Event{ return (new TweenEvent(this.type, this.time, this.position, this.bubbles, this.cancelable)); } } }//package fl.transitions
Section 66
//IGame (loadedSwf.IGame) package loadedSwf { import controller.*; public interface IGame { function start():void; function pause():void; function resume():void; function set externalController(_arg1:IGameController):void; } }//package loadedSwf
Section 67
//CardModel (model.CardModel) package model { import flash.events.*; import org.osflash.thunderbolt.*; import flash.media.*; public class CardModel extends EventDispatcher { private const _checkCardPosX:int = 340; private const _checkCardPosY:int = 330; private var _endDepth:int; private var _pos:int; private var _cardsAbove:Array; private var _removed:Boolean;// = false private var _active:Boolean;// = false private var _cardsBelow:Array; private var _deckCard:Boolean; private var _endPosY:int; private var _endPosX:int; private var _cardScore:int;// = 10 private var _value:int; private var _flipSoundType:int; public function CardModel(_arg1:int, _arg2:int, _arg3:int, _arg4:int){ _active = false; _removed = false; _cardScore = 10; super(); _pos = _arg1; _endPosX = _arg2; _endPosY = _arg3; _endDepth = _arg4; _cardsAbove = new Array(); _cardsBelow = new Array(); _flipSoundType = Math.round(((Math.random() * (2 - 1)) + 1)); } public function set value(_arg1:int):void{ _value = _arg1; dispatchEvent(new Event("value")); } public function playDrum():void{ var sound:Sound; try { if (ScarabSolitaireGame.MainGame.playingSound){ sound = new DrumDrum(); sound.play(); }; } catch(e:Error) { Logger.error(e.message); }; } public function set active(_arg1:Boolean):void{ _active = _arg1; dispatchEvent(new Event("active")); } public function get endPosY():int{ return (_endPosY); } public function get active():Boolean{ return (_active); } public function get endDepth():int{ return (_endDepth); } public function playMove():void{ if (ScarabSolitaireGame.MainGame.playingSound){ if (!_deckCard){ playFlip(); }; }; } public function set deckCard(_arg1:Boolean):void{ _deckCard = _arg1; } public function set cardScore(_arg1:int):void{ _cardScore = _arg1; } public function playFlip():void{ var sound:Sound; try { if (ScarabSolitaireGame.MainGame.playingSound){ if (_flipSoundType == 1){ sound = new Swosh1(); } else { sound = new Swosh2(); }; sound.play(); }; } catch(e:Error) { Logger.error(e.message); }; } public function reset():void{ _value = 0; _active = false; _removed = false; } public function playScarabCardReveal():void{ var sound:Sound; try { if (ScarabSolitaireGame.MainGame.playingSound){ sound = new ScarabCardReveal(); sound.play(); }; } catch(e:Error) { Logger.error(e.message); }; } public function addCardToCardsAbove(_arg1:CardModel):void{ _cardsAbove.push(_arg1); } public function checkIfFree():void{ var _local1:Boolean; var _local2:CardModel; var _local3:int; _local1 = true; _local3 = 0; while (_local3 < _cardsBelow.length) { _local2 = _cardsBelow[_local3]; if (!_local2.removed){ _local1 = false; }; _local3++; }; if (_local1){ active = true; }; } public function get pos():int{ return (_pos); } public function get checkCardPosX():int{ return (_checkCardPosX); } public function get removed():Boolean{ return (_removed); } public function addCardToCardsBelow(_arg1:CardModel):void{ _cardsBelow.push(_arg1); } public function checkIfCardsAboveShouldBeFreed():void{ var _local1:int; var _local2:CardModel; if (_cardsAbove.length != 0){ _local1 = 0; while (_local1 < _cardsAbove.length) { _local2 = _cardsAbove[_local1]; _local2.checkIfFree(); _local1++; }; }; } public function get deckCard():Boolean{ return (_deckCard); } public function get cardScore():int{ return (_cardScore); } private function playDeal():void{ var _local1:Sound; _local1 = new EnkelGiv1(); _local1.play(); } public function get value():int{ return (_value); } public function get checkCardPosY():int{ return (_checkCardPosY); } public function set removed(_arg1:Boolean):void{ _removed = _arg1; _active = false; dispatchEvent(new Event("removed")); } public function get endPosX():int{ return (_endPosX); } } }//package model
Section 68
//CardPositionData (model.CardPositionData) package model { public class CardPositionData { private var _positionData:Array; public function CardPositionData(){ _positionData = new Array(); createCardPositionData(); } private function createCardPositionData():void{ var _local1:Array; var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:int; var _local13:int; _local2 = 90; _local3 = 34; _local4 = (136 + 2); _local5 = (286 + 2); _local6 = (436 + 2); _local7 = 25; _local8 = 50; _local9 = 75; _local10 = 267; _local11 = 330; _local12 = 0; _local1 = [_local4, _local2, _local12]; _positionData.push(_local1); _local1 = [_local5, _local2, _local12]; _positionData.push(_local1); _local1 = [_local6, _local2, _local12]; _positionData.push(_local1); _local2 = (_local2 + _local3); _local12 = 3; _local1 = [(_local4 - _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local4 + _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local5 - _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local5 + _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local6 - _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local6 + _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local2 = (_local2 + _local3); _local1 = [(_local4 - _local8), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [_local4, _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local4 + _local8), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local5 - _local8), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [_local5, _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local5 + _local8), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local6 - _local8), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [_local6, _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local6 + _local8), _local2, _local12]; _positionData.push(_local1); _local12++; _local2 = (_local2 + _local3); _local1 = [(_local4 - _local9), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local4 - _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local4 + _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local4 + _local9), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local5 - _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local5 + _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local6 - _local9), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local6 - _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local6 + _local7), _local2, _local12]; _positionData.push(_local1); _local12++; _local1 = [(_local6 + _local9), _local2, _local12]; _positionData.push(_local1); _local12++; while (_local13 < 24) { _local1 = [_local10, _local11, -1]; _positionData.push(_local1); _local10 = (_local10 - 4); _local13++; }; _positionData.reverse(); } public function getCardPositionData(_arg1:int):Array{ return (_positionData[_arg1]); } } }//package model
Section 69
//CardValuesData (model.CardValuesData) package model { public class CardValuesData { private var _cardValues:Array; public function CardValuesData(){ _cardValues = new Array(); createValues(); } private function randomSort(_arg1:Object, _arg2:Object):int{ var _local3:Number; _local3 = Math.round((Math.random() - 1)); return (_local3); } public function getCardValue(_arg1:int):int{ var value:int; var pos = _arg1; value = _cardValues[pos]; try { } catch(e:Error) { }; return (value); } public function shuffleCardValues():void{ _cardValues.sort(randomSort); } private function createValues():void{ var _local1:int; var _local2:int; _local1 = 0; while (_local1 < 4) { _local2 = 1; while (_local2 < 14) { _cardValues.push(_local2); _local2++; }; _local1++; }; shuffleCardValues(); } } }//package model
Section 70
//Clock (model.Clock) package model { import flash.events.*; import org.osflash.thunderbolt.*; import flash.utils.*; import flash.media.*; public class Clock extends EventDispatcher { private const LEVEL4SPEED:int = 730; private const LEVEL2SPEED:int = 900; private const LEVEL5SPEED:int = 660; private const LEVEL3SPEED:int = 810; private const LEVEL1SPEED:int = 1000; private var _timer:Timer; private var _timerSpeed:int;// = 1000 private var _ticks:int;// = 12 private static var _instance:Clock; public function Clock(){ _ticks = 12; _timerSpeed = LEVEL1SPEED; super(); _timer = new Timer(_timerSpeed); } public function stop():void{ _timer.stop(); } public function reset():void{ _ticks = 12; dispatchEvent(new Event("reset")); } public function start():void{ _timer.addEventListener(TimerEvent.TIMER, onTimer, false, 0, true); _timer.start(); } public function speedUpTimer():void{ try { switch (_timer.delay){ case LEVEL1SPEED: _timer.delay = LEVEL2SPEED; break; case LEVEL2SPEED: _timer.delay = LEVEL3SPEED; break; case LEVEL3SPEED: _timer.delay = LEVEL4SPEED; break; case LEVEL4SPEED: _timer.delay = LEVEL5SPEED; break; }; } catch(e:ReferenceError) { }; } private function playTickSound():void{ var randNum:Number; var sound:Sound; try { if (ScarabSolitaireGame.MainGame.playingSound){ randNum = Math.random(); if (randNum > 0.5){ sound = new Tick(); } else { sound = new Tack(); }; sound.play(); }; } catch(e:Error) { Logger.error(e.message); }; } private function onTimer(_arg1:TimerEvent):void{ if (_ticks != 0){ _ticks--; dispatchEvent(new Event("tick")); if (_ticks < 4){ playTickSound(); }; } else { _ticks = 12; dispatchEvent(new Event("rewind")); }; } public function getReverseTicks():int{ var _local1:int; _local1 = Math.abs((ticks - 12)); return (_local1); } public function resume():void{ _timer.addEventListener(TimerEvent.TIMER, onTimer, false, 0, true); _timer.start(); } public function get ticks():int{ return (_ticks); } public static function getInstance():Clock{ if (_instance == null){ _instance = new (Clock); }; return (_instance); } } }//package model
Section 71
//ErrorHandler (model.ErrorHandler) package model { import flash.events.*; import org.osflash.thunderbolt.*; public class ErrorHandler { private static var _instance:ErrorHandler; public function printError(_arg1:Error):void{ Logger.error(_arg1.getStackTrace()); Logger.error(_arg1.message); } public function printErrorEvent(_arg1:ErrorEvent):void{ Logger.error(_arg1.text); } public static function getInstance():ErrorHandler{ if (_instance == null){ _instance = new (ErrorHandler); }; return (_instance); } } }//package model
Section 72
//ImageManager (model.ImageManager) package model { import flash.display.*; import flash.utils.*; public class ImageManager { private const HEARTS:int = 0; private const SPADES:int = 1; private const CLOVES:int = 3; private const DIAMONDS:int = 2; private var _loaders:Array; private static var instance:ImageManager; public function ImageManager(){ init(); } public function getBitmap(_arg1:int):Bitmap{ var _local2:Boolean; var _local3:int; var _local4:Array; var _local5:Array; var _local6:Bitmap; _arg1--; _local5 = new Array(); while (!(_local2)) { _local3 = ((Math.random() * 100) % 4); if (_local5.length == 4){ throw (new Error("No image found")); }; if (_local5.indexOf(_local3) == -1){ _local5.push(_local3); if (_local3 == HEARTS){ _local4 = _loaders[HEARTS]; } else { if (_local3 == SPADES){ _local4 = _loaders[SPADES]; } else { if (_local3 == DIAMONDS){ _local4 = _loaders[DIAMONDS]; } else { _local4 = _loaders[CLOVES]; }; }; }; _local6 = _local4[_arg1]; if (_local6.parent == null){ _local2 = true; }; }; }; return (_local6); } public function init():void{ _loaders = new Array(); loadCardImages(); } private function loadCardImages():void{ var _local1:int; var _local2:Class; var _local3:BitmapData; var _local4:Bitmap; var _local5:Array; var _local6:Array; var _local7:Array; var _local8:Array; _local5 = new Array(); _local6 = new Array(); _local7 = new Array(); _local8 = new Array(); _loaders.push(_local5); _loaders.push(_local6); _loaders.push(_local7); _loaders.push(_local8); _local1 = 1; while (_local1 < 14) { _local2 = (getDefinitionByName(("H" + _local1)) as Class); _local3 = new _local2(0, 0); _local4 = new Bitmap(_local3); _local5.push(_local4); _local1++; }; _local1 = 1; while (_local1 < 14) { _local2 = (getDefinitionByName(("S" + _local1)) as Class); _local3 = new _local2(0, 0); _local4 = new Bitmap(_local3); _local6.push(_local4); _local1++; }; _local1 = 1; while (_local1 < 14) { _local2 = (getDefinitionByName(("D" + _local1)) as Class); _local3 = new _local2(0, 0); _local4 = new Bitmap(_local3); _local7.push(_local4); _local1++; }; _local1 = 1; while (_local1 < 14) { _local2 = (getDefinitionByName(("C" + _local1)) as Class); _local3 = new _local2(0, 0); _local4 = new Bitmap(_local3); _local8.push(_local4); _local1++; }; } public static function getInstance():ImageManager{ if (instance == null){ instance = new (ImageManager); }; return (instance); } } }//package model
Section 73
//MusicManager (model.MusicManager) package model { import controller.*; import flash.events.*; import flash.display.*; import org.osflash.thunderbolt.*; import flash.media.*; public class MusicManager extends Sprite { private var _controller:ScarabGameController; private var _playingSound:Sound; private var _soundChannel:SoundChannel; private static var instance:MusicManager; public function startMusic():void{ try { if (((ScarabSolitaireGame.MainGame.playingMusic) && (!(_controller.gameOver)))){ if (_playingSound == null){ _playingSound = new MusicLoop(); }; _soundChannel = _playingSound.play(); _soundChannel.addEventListener(Event.SOUND_COMPLETE, onSoundComplete, false, 0, true); }; } catch(e:Error) { ErrorHandler.getInstance().printError(e); }; } public function set controller(_arg1:ScarabGameController):void{ _controller = _arg1; } public function stopMusic():void{ try { if (_soundChannel != null){ _soundChannel.stop(); }; } catch(e:Error) { ErrorHandler.getInstance().printError(e); }; } private function onSoundComplete(_arg1:Event):void{ var event = _arg1; try { _soundChannel.removeEventListener(Event.SOUND_COMPLETE, onSoundComplete); _soundChannel = _playingSound.play(); _soundChannel.addEventListener(Event.SOUND_COMPLETE, onSoundComplete, false, 0, true); } catch(e:Error) { Logger.error(e.message); }; } public static function getInstance():MusicManager{ if (instance == null){ instance = new (MusicManager); }; return (instance); } } }//package model
Section 74
//ScarabGameModel (model.ScarabGameModel) package model { import flash.events.*; import flash.utils.*; import flash.media.*; public class ScarabGameModel extends EventDispatcher { private const _deckSize:int = 52; private const LEVELCOMPLETED:int = 28; private var _cardPositionData:CardPositionData; private var _cardsInARow:int;// = 0 private var _score:Score; private var _clock:Clock; private var _topDeckCard:int;// = 23 private var _checkCard:CardModel; private var _cardValuesData:CardValuesData; private var _cardsRemovedFromBoard:int; private var _cards:Array; private var _currentLevel:int;// = 1 public function ScarabGameModel(){ _currentLevel = 1; _topDeckCard = 23; _cardsInARow = 0; super(); _cards = new Array(); _cardPositionData = new CardPositionData(); _cardValuesData = new CardValuesData(); _score = Score.getInstance(); _clock = Clock.getInstance(); init(); } private function onClockRewind(_arg1:Event):void{ revealTopDeckCard(); } private function init():void{ _clock.addEventListener("rewind", onClockRewind, false, 0, true); createDeck(); } public function get currentLevel():int{ return (_currentLevel); } private function resetDeck():void{ var _local1:CardModel; for each (_local1 in _cards) { _local1.reset(); }; } private function resetGameVariables():void{ _cardsRemovedFromBoard = 0; _topDeckCard = 23; _cardsInARow = 0; _checkCard = _cards[_topDeckCard]; } public function isDeckCard(_arg1:CardModel):Boolean{ if ((_arg1.pos <= _topDeckCard)){ return (true); }; return (false); } public function stopClock():void{ _clock.stop(); } public function isLegal(_arg1:CardModel):Boolean{ var _local2:int; var _local3:int; if (_arg1.active){ _local2 = _arg1.value; _local3 = _checkCard.value; if (((((((((_local2 - _local3) == 1)) || (((_local2 - _local3) == -1)))) || (((_local2 - _local3) == 12)))) || (((_local2 - _local3) == -12)))){ return (true); }; return (false); //unresolved jump }; return (false); } public function isGameOver():Boolean{ var _local1:Array; var _local2:int; var _local3:int; if (_topDeckCard <= 0){ _local2 = _checkCard.value; _local1 = getActiveCardsValues(); for each (_local3 in _local1) { if (((((((((_local3 - _local2) == 1)) || (((_local3 - _local2) == -1)))) || (((_local3 - _local2) == 12)))) || (((_local3 - _local2) == -12)))){ return (false); }; }; return (true); //unresolved jump }; return (false); } public function setCardActive(_arg1:int):void{ var _local2:CardModel; _local2 = (_cards[_arg1] as CardModel); _local2.active = true; } private function setCardReferences():void{ var _local1:CardModel; var _local2:int; _local2 = 24; while (_local2 < 34) { _local1 = _cards[_local2]; if ((((_local2 == 24)) || ((_local2 == 34)))){ if (_local2 == 24){ _local1.addCardToCardsAbove(_cards[34]); } else { _local1.addCardToCardsAbove(_cards[42]); }; } else { _local1.addCardToCardsAbove(_cards[(_local2 + 9)]); _local1.addCardToCardsAbove(_cards[(_local2 + 10)]); }; _local2++; }; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[43]); _local1.addCardToCardsBelow(_cards[24]); _local1.addCardToCardsBelow(_cards[25]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[43]); _local1.addCardToCardsAbove(_cards[44]); _local1.addCardToCardsBelow(_cards[25]); _local1.addCardToCardsBelow(_cards[26]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[44]); _local1.addCardToCardsBelow(_cards[26]); _local1.addCardToCardsBelow(_cards[27]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[45]); _local1.addCardToCardsBelow(_cards[27]); _local1.addCardToCardsBelow(_cards[28]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[45]); _local1.addCardToCardsAbove(_cards[46]); _local1.addCardToCardsBelow(_cards[28]); _local1.addCardToCardsBelow(_cards[29]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[46]); _local1.addCardToCardsBelow(_cards[29]); _local1.addCardToCardsBelow(_cards[30]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[47]); _local1.addCardToCardsBelow(_cards[30]); _local1.addCardToCardsBelow(_cards[31]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[47]); _local1.addCardToCardsAbove(_cards[48]); _local1.addCardToCardsBelow(_cards[31]); _local1.addCardToCardsBelow(_cards[32]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[48]); _local1.addCardToCardsBelow(_cards[32]); _local1.addCardToCardsBelow(_cards[33]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[49]); _local1.addCardToCardsBelow(_cards[34]); _local1.addCardToCardsBelow(_cards[35]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[49]); _local1.addCardToCardsBelow(_cards[35]); _local1.addCardToCardsBelow(_cards[36]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[50]); _local1.addCardToCardsBelow(_cards[37]); _local1.addCardToCardsBelow(_cards[38]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[50]); _local1.addCardToCardsBelow(_cards[38]); _local1.addCardToCardsBelow(_cards[39]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[51]); _local1.addCardToCardsBelow(_cards[40]); _local1.addCardToCardsBelow(_cards[41]); _local2++; _local1 = _cards[_local2]; _local1.addCardToCardsAbove(_cards[51]); _local1.addCardToCardsBelow(_cards[41]); _local1.addCardToCardsBelow(_cards[42]); _local2++; _local1 = _cards[_local2]; _local1.cardScore = 1000; _local1.addCardToCardsBelow(_cards[43]); _local1.addCardToCardsBelow(_cards[44]); _local2++; _local1 = _cards[_local2]; _local1.cardScore = 1000; _local1.addCardToCardsBelow(_cards[45]); _local1.addCardToCardsBelow(_cards[46]); _local2++; _local1 = _cards[_local2]; _local1.cardScore = 1000; _local1.addCardToCardsBelow(_cards[47]); _local1.addCardToCardsBelow(_cards[48]); } public function revealTopDeckCard():void{ var _local1:CardModel; if (_topDeckCard >= 0){ _cardsInARow = 0; _local1 = _cards[_topDeckCard]; _local1.active = true; _topDeckCard--; newCheckCard(_local1); }; } public function getNumberOfCardsLeftInDeck():int{ return (_topDeckCard); } public function getCardModel(_arg1:int):CardModel{ var cardModel:CardModel; var pos = _arg1; try { cardModel = _cards[pos]; if (cardModel == null){ throw (new Error("Position not found in CardModel array!")); }; } catch(e:Error) { }; return (cardModel); } private function createDeck():void{ var _local1:CardModel; var _local2:Array; var _local3:int; var _local4:int; var _local5:int; var _local6:int; var _local7:int; _cardValuesData.shuffleCardValues(); _local7 = 0; while (_local7 < _deckSize) { _local2 = _cardPositionData.getCardPositionData(_local7); _local3 = _local2[0]; _local4 = _local2[1]; _local5 = _local2[2]; _local1 = new CardModel(_local7, _local3, _local4, _local5); _local6 = _cardValuesData.getCardValue(_local7); _local1.value = _local6; if (_local7 < 24){ _local1.deckCard = true; }; _cards.push(_local1); _local7++; }; setCardReferences(); } public function getActiveCardsValues():Array{ var _local1:Array; var _local2:CardModel; _local1 = new Array(); for each (_local2 in _cards) { if (_local2.active){ _local1.push(_local2.value); }; }; return (_local1); } public function playSound(_arg1:String):void{ var _local2:Class; var _local3:Sound; if (ScarabSolitaireGame.MainGame.playingSound){ _local2 = (getDefinitionByName(_arg1) as Class); _local3 = (new (_local2) as Sound); _local3.play(); }; } public function incrementLevel():void{ _currentLevel++; _score.currentLevel = _currentLevel; dispatchEvent(new TextEvent("newLevel", false, false, _currentLevel.toString())); } public function resumeClock():void{ if (_topDeckCard != -1){ _clock.resume(); }; } public function cardScore(_arg1:CardModel):void{ var _local2:int; var _local3:int; _local2 = _arg1.cardScore; _local3 = _clock.ticks; _local3 = (_local3 - 2); _score.addToScore(_local2, _local3, _cardsInARow); _cardsInARow++; _cardsRemovedFromBoard++; if (_cardsRemovedFromBoard == LEVELCOMPLETED){ dispatchEvent(new Event("levelCompleted")); }; } public function getPosData(_arg1:int):Array{ return (_cards[_arg1]); } public function getCardsLeftInDeck():Array{ var _local1:Array; var _local2:int; var _local3:CardModel; _local1 = new Array(); _local2 = _topDeckCard; while (_local2 > -1) { _local3 = _cards[_local2]; _local1.push(_local3); _local2--; }; return (_local1); } public function resetLevel():void{ var _local1:CardModel; var _local2:int; var _local3:int; _clock.stop(); _clock.reset(); _clock.speedUpTimer(); resetGameVariables(); resetDeck(); _cardValuesData.shuffleCardValues(); _local3 = 0; while (_local3 < _deckSize) { _local1 = (_cards[_local3] as CardModel); _local2 = _cardValuesData.getCardValue(_local3); _local1.value = _local2; _local3++; }; } public function newCheckCard(_arg1:CardModel):void{ _checkCard = _arg1; _checkCard.removed = true; _checkCard.checkIfCardsAboveShouldBeFreed(); _clock.reset(); if (_topDeckCard < 0){ _clock.stop(); dispatchEvent(new Event("deckEmpty")); }; } } }//package model
Section 75
//Score (model.Score) package model { import flash.events.*; public class Score extends EventDispatcher { public const INAROWSCORE:int = 2; public const SCARABCARDSCORE:int = 0; public const TOTALSCORE:int = 4; public const LEVEL3:int = 2; public const LEVEL4:int = 3; public const TIMEBONUS:int = 3; public const LEVEL1:int = 0; public const LEVEL2:int = 1; public const CARDSCORE:int = 1; public const LEVEL5:int = 4; private var _cardsLeft:int;// = 0 private var scoreLists:Array; private var level1:Array; private var level2:Array; private var level3:Array; private var level4:Array; private var level5:Array; private var _currentLevel:int;// = 0 private var _totalGameScore:int;// = 0 private static var _instance:Score; public function Score(){ _currentLevel = LEVEL1; _cardsLeft = 0; _totalGameScore = 0; super(); init(); } public function init():void{ _currentLevel = LEVEL1; _cardsLeft = 0; _totalGameScore = 0; level1 = getEmptyScoreList(); level2 = getEmptyScoreList(); level3 = getEmptyScoreList(); level4 = getEmptyScoreList(); level5 = getEmptyScoreList(); scoreLists = new Array(); scoreLists.push(level1); scoreLists.push(level2); scoreLists.push(level3); scoreLists.push(level4); scoreLists.push(level5); } public function cardLeftAddToScore():void{ var _local1:int; var _local2:Array; var _local3:int; _local2 = scoreLists[_currentLevel]; _cardsLeft++; _local1 = _local2[TOTALSCORE]; _local3 = (_cardsLeft * 10); _totalGameScore = (_totalGameScore + _local3); _local1 = (_local1 + _local3); _local2[TOTALSCORE] = _local1; dispatchEvent(new TextEvent("cardScore", false, false, _local3.toString())); dispatchEvent(new TextEvent("score", false, false, _totalGameScore.toString())); } public function set currentLevel(_arg1:int):void{ _cardsLeft = 0; _currentLevel = (_arg1 - 1); } public function getCurrentLevelTotalScore():int{ var _local1:Array; var _local2:int; _local1 = scoreLists[_currentLevel]; _local2 = _local1[TOTALSCORE]; return (_local2); } public function getGameOverTotalScore():int{ var _local1:int; _local1 = 0; _local1 = (_local1 + level1[TOTALSCORE]); _local1 = (_local1 + level2[TOTALSCORE]); _local1 = (_local1 + level3[TOTALSCORE]); _local1 = (_local1 + level4[TOTALSCORE]); _local1 = (_local1 + level5[TOTALSCORE]); return (_local1); } public function getGameOverInARowScore():int{ var _local1:int; _local1 = 0; _local1 = (_local1 + level1[INAROWSCORE]); _local1 = (_local1 + level2[INAROWSCORE]); _local1 = (_local1 + level3[INAROWSCORE]); _local1 = (_local1 + level4[INAROWSCORE]); _local1 = (_local1 + level5[INAROWSCORE]); return (_local1); } public function getTotalScore(_arg1:int):int{ var _local2:Array; var _local3:int; _local2 = scoreLists[_arg1]; _local3 = _local2[TOTALSCORE]; return (_local3); } public function getGameOverScarabCardScore():int{ var _local1:int; _local1 = 0; _local1 = (_local1 + level1[SCARABCARDSCORE]); _local1 = (_local1 + level2[SCARABCARDSCORE]); _local1 = (_local1 + level3[SCARABCARDSCORE]); _local1 = (_local1 + level4[SCARABCARDSCORE]); _local1 = (_local1 + level5[SCARABCARDSCORE]); return (_local1); } public function getLevelScore(_arg1:int, _arg2:int):int{ var _local3:Array; var _local4:int; _local3 = scoreLists[_arg1]; _local4 = _local3[_arg2]; return (_local4); } public function getGameOverCardScore():int{ var _local1:int; _local1 = 0; _local1 = (_local1 + level1[CARDSCORE]); _local1 = (_local1 + level2[CARDSCORE]); _local1 = (_local1 + level3[CARDSCORE]); _local1 = (_local1 + level4[CARDSCORE]); _local1 = (_local1 + level5[CARDSCORE]); return (_local1); } public function getGameOverTimeBonusScore():int{ var _local1:int; _local1 = 0; _local1 = (_local1 + level1[TIMEBONUS]); _local1 = (_local1 + level2[TIMEBONUS]); _local1 = (_local1 + level3[TIMEBONUS]); _local1 = (_local1 + level4[TIMEBONUS]); _local1 = (_local1 + level5[TIMEBONUS]); return (_local1); } private function getEmptyScoreList():Array{ var _local1:Array; _local1 = new Array(); _local1.push(0); _local1.push(0); _local1.push(0); _local1.push(0); _local1.push(0); _local1.push(0); return (_local1); } public function addToScore(_arg1:int, _arg2:int, _arg3:int):void{ var _local4:Array; var _local5:int; var _local6:int; var _local7:int; var _local8:int; _local4 = scoreLists[_currentLevel]; _local7 = (_arg3 * 10); _local6 = _local4[TOTALSCORE]; _local8 = ((_arg1 + _arg2) + _local7); _totalGameScore = (_totalGameScore + _local8); _local6 = (_local6 + _local8); _local4[TOTALSCORE] = _local6; dispatchEvent(new TextEvent("cardScore", false, false, _local8.toString())); dispatchEvent(new TextEvent("score", false, false, _totalGameScore.toString())); if (_arg1 == 1000){ _local5 = _local4[SCARABCARDSCORE]; _local5 = (_local5 + _arg1); _local4[SCARABCARDSCORE] = _local5; } else { _local5 = _local4[CARDSCORE]; _local5 = (_local5 + _arg1); _local4[CARDSCORE] = _local5; }; _local5 = _local4[INAROWSCORE]; _local5 = (_local5 + _local7); _local4[INAROWSCORE] = _local5; _local5 = _local4[TIMEBONUS]; _local5 = (_local5 + _arg2); _local4[TIMEBONUS] = _local5; } public static function getInstance():Score{ if (_instance == null){ _instance = new (Score); }; return (_instance); } } }//package model
Section 76
//SoundConsts (model.SoundConsts) package model { public class SoundConsts { public static const DECKDRAG:String = "DeckDrag"; } }//package model
Section 77
//Logger (org.osflash.thunderbolt.Logger) package org.osflash.thunderbolt { import flash.utils.*; import flash.system.*; import flash.external.*; public class Logger { public static const WARN:String = "warn"; private static const AUTHOR:String = "Jens Krause [www.websector.de]"; private static const FIELD_SEPERATOR:String = " :: "; public static const LOG:String = "log"; public static const ERROR:String = "error"; public static const INFO:String = "info"; private static const MAX_DEPTH:int = 0xFF; private static const VERSION:String = "1.0"; private static var _depth:int; public static var includeTime:Boolean = true; private static var _hide:Boolean = false; private static var _stopLog:Boolean = false; private static var _logLevel:String; private static function primitiveType(_arg1:String):Boolean{ var _local2:Boolean; switch (_arg1){ case "Boolean": case "void": case "int": case "uint": case "Number": case "String": case "undefined": case "null": _local2 = true; break; default: _local2 = false; }; return (_local2); } public static function trace(_arg1:String, _arg2:String="", ... _args):void{ var _local4:String; var _local5:int; var _local6:int; if (!_hide){ _depth = 0; _logLevel = _arg1; _local4 = (("[" + _logLevel.toUpperCase()) + "] "); if (includeTime){ _local4 = (_local4 + getCurrentTime()); }; _local4 = (_local4 + _arg2); ExternalInterface.call(("console." + _logLevel), _local4); _local6 = _args.length; _local5 = 0; while (_local5 < _local6) { _slot1.logObject(_args[_local5]); _local5++; }; }; } public static function debug(_arg1:String=null, ... _args):void{ _slot1.trace(_slot1.LOG, _arg1, _args); } public static function about():void{ var _local1:String; _local1 = (((("+++ Welcome to ThunderBolt AS3 | VERSION: " + _slot1.VERSION) + " | AUTHOR: ") + _slot1.AUTHOR) + " | Happy logging ;-) +++"); _slot1.trace(_slot1.INFO, _local1); } public static function warn(_arg1:String=null, ... _args):void{ _slot1.trace(_slot1.WARN, _arg1, _args); } public static function error(_arg1:String=null, ... _args):void{ _slot1.trace(_slot1.ERROR, _arg1, _args); } public static function memorySnapshot():String{ var _local1:uint; var _local2:String; _local1 = System.totalMemory; _local2 = (((("Memory Snapshot: " + (Math.round((((_local1 / 0x0400) / 0x0400) * 100)) / 100)) + " MB (") + Math.round((_local1 / 0x0400))) + " kb)"); return (_local2); } public static function set hide(_arg1:Boolean):void{ _hide = _arg1; } private static function timeToValidString(_arg1:Number):String{ return (((_arg1 > 9)) ? _arg1.toString() : ("0" + _arg1.toString())); } private static function logObject(_arg1, _arg2:String=null):void{ var _local3:String; var _local4:XML; var _local5:String; var _local6:String; var _local7:String; var _local8:int; var _local9:int; var _local10:XMLList; var _local11:XML; var _local12:String; var _local13:String; var _local14:String; var _local15:*; if (_depth < _slot1.MAX_DEPTH){ _depth++; _local3 = ((_arg2) || ("")); _local4 = describeType(_arg1); _local5 = _local4.@name; if (primitiveType(_local5)){ _local6 = (_local3.length) ? ((((("[" + _local5) + "] ") + _local3) + " = ") + _arg1) : ((("[" + _local5) + "] ") + _arg1); ExternalInterface.call(("console." + _slot1.LOG), _local6); } else { if (_local5 == "Object"){ ExternalInterface.call("console.group", ("[Object] " + _local3)); for (_local7 in _arg1) { logObject(_arg1[_local7], _local7); }; ExternalInterface.call("console.groupEnd"); } else { if (_local5 == "Array"){ if (_depth > 1){ ExternalInterface.call("console.group", ("[Array] " + _local3)); }; _local9 = _arg1.length; _local8 = 0; while (_local8 < _local9) { logObject(_arg1[_local8]); _local8++; }; ExternalInterface.call("console.groupEnd"); } else { _local10 = _local4..accessor; if (_local10.length()){ for each (_local11 in _local10) { _local12 = _local11.@name; _local13 = _local11.@type; _local14 = _local11.@access; if (((_local14) && (!((_local14 == "writeonly"))))){ _local15 = _arg1[_local12]; logObject(_local15, _local12); }; }; } else { logObject(_arg1, _local5); }; }; }; }; } else { if (!_stopLog){ ExternalInterface.call(("console." + _slot1.WARN), (("STOP LOGGING: More than " + _depth) + " nested objects or properties.")); _stopLog = true; }; }; } public static function info(_arg1:String=null, ... _args):void{ _slot1.trace(_slot1.INFO, _arg1, _args); } private static function getCurrentTime():String{ var _local1:Date; var _local2:String; _local1 = new Date(); _local2 = (((((((("time " + timeToValidString(_local1.getHours())) + ":") + timeToValidString(_local1.getMinutes())) + ":") + timeToValidString(_local1.getSeconds())) + ".") + timeToValidString(_local1.getMilliseconds())) + FIELD_SEPERATOR); return (_local2); } } }//package org.osflash.thunderbolt
Section 78
//FlipTween (view.tween.FlipTween) package view.tween { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.geom.*; public class FlipTween extends Sprite { private var _tri:Array; private var _vseg:Number; private var _yMin:Number; private var _hsLen:Number; private var _yMax:Number; private var _vsLen:Number; private var xEndPos:int; private var _tMat:Matrix; private var y1:int; private var _front:BitmapData; private var yPos:int;// = 80 private var _mc:Sprite; private var flipped:Boolean; private var _xMin:Number; private var xInc:int;// = 7 private var _timer:Timer; private var yInc:int;// = 1 private var x1:int; private var _xMax:Number; private var x3:int; private var x2:int; private var xPos:int;// = 53 private var _sMat:Matrix; private var _hseg:Number; private var x4:int; private var y2:int; private var y3:int; private var y4:int; private var _h:Number; private var _texture:BitmapData; private var _p:Array; private var _w:Number; public function FlipTween(_arg1:BitmapData, _arg2:BitmapData, _arg3:Number, _arg4:Number){ xPos = 53; xEndPos = (xPos * 2); yPos = 80; x2 = xPos; x3 = xPos; y3 = yPos; y4 = yPos; xInc = 7; yInc = 1; super(); _mc = this; _texture = _arg2; _front = _arg1; _vseg = _arg3; _hseg = _arg4; _w = _texture.width; _h = _texture.height; __init(); } private function onTimerComplete():void{ dispatchEvent(new Event("flipComplete")); } private function __init():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Number; _p = new Array(); _tri = new Array(); _xMin = (_yMin = 0); _xMax = _w; _yMax = _h; _hsLen = (_w / (_hseg + 1)); _vsLen = (_h / (_vseg + 1)); _local1 = 0; while (_local1 < (_vseg + 2)) { _local2 = 0; while (_local2 < (_hseg + 2)) { _local3 = (_local1 * _hsLen); _local4 = (_local2 * _vsLen); _p.push({x:_local3, y:_local4, sx:_local3, sy:_local4}); _local2++; }; _local1++; }; _local1 = 0; while (_local1 < (_vseg + 1)) { _local2 = 0; while (_local2 < (_hseg + 1)) { _tri.push([_p[(_local2 + (_local1 * (_hseg + 2)))], _p[((_local2 + (_local1 * (_hseg + 2))) + 1)], _p[(_local2 + ((_local1 + 1) * (_hseg + 2)))]]); _tri.push([_p[((_local2 + ((_local1 + 1) * (_hseg + 2))) + 1)], _p[(_local2 + ((_local1 + 1) * (_hseg + 2)))], _p[((_local2 + (_local1 * (_hseg + 2))) + 1)]]); _local2++; }; _local1++; }; _timer = new Timer(10); _timer.addEventListener(TimerEvent.TIMER, onTimer); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); } public function setTransform(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):void{ var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Object; var _local17:*; var _local18:*; var _local19:*; var _local20:*; _local9 = _w; _local10 = _h; _local11 = (_arg7 - _arg1); _local12 = (_arg8 - _arg2); _local13 = (_arg5 - _arg3); _local14 = (_arg6 - _arg4); _local15 = _p.length; while (--_local15 > -1) { _local16 = _p[_local15]; _local17 = ((_local16.x - _xMin) / _local9); _local18 = ((_local16.y - _yMin) / _local10); _local19 = (_arg1 + (_local18 * _local11)); _local20 = (_arg2 + (_local18 * _local12)); _local16.sx = (_local19 + (_local17 * ((_arg3 + (_local18 * _local13)) - _local19))); _local16.sy = (_local20 + (_local17 * ((_arg4 + (_local18 * _local14)) - _local20))); }; __render(); } public function start():void{ _timer.start(); } private function onTimer(_arg1:TimerEvent):void{ var _local2:int; var _local3:int; var _local4:int; var _local5:int; this.x = (this.x - (xInc / 2)); if ((((x1 > xEndPos)) || ((x2 > xEndPos)))){ x2 = xEndPos; x3 = xEndPos; y1 = 0; y2 = 0; y3 = yPos; y4 = yPos; _timer.stop(); onTimerComplete(); } else { if ((((x1 > xPos)) && (!(flipped)))){ flipped = true; _texture = _front; x1 = xPos; x4 = xPos; _local2 = x1; _local3 = x3; _local4 = y1; _local5 = y3; x1 = x2; x3 = x4; x2 = _local2; x4 = _local3; y1 = y2; y3 = y4; y2 = _local4; y4 = _local5; x1 = (x1 + xInc); x4 = (x4 + xInc); y1 = (y1 + yInc); y2 = (y2 - yInc); y3 = (y3 + yInc); y4 = (y4 - yInc); } else { if (x1 > xPos){ x2 = (x2 + xInc); x3 = (x3 + xInc); y1 = (y1 - yInc); y2 = (y2 + yInc); y3 = (y3 - yInc); y4 = (y4 + yInc); } else { x1 = (x1 + xInc); x4 = (x4 + xInc); y1 = (y1 - yInc); y2 = (y2 + yInc); y3 = (y3 - yInc); y4 = (y4 + yInc); }; }; }; setTransform(x1, y1, x2, y2, x3, y3, x4, y4); } private function __render():void{ var _local1:Object; var _local2:Object; var _local3:Object; var _local4:Array; var _local5:Number; var _local6:Number; var _local7:Number; var _local8:Number; var _local9:Number; var _local10:Number; var _local11:Number; var _local12:Number; var _local13:Number; var _local14:Number; var _local15:Number; var _local16:Number; var _local17:Number; _mc.graphics.clear(); _sMat = new Matrix(); _tMat = new Matrix(); _local5 = _tri.length; while (--_local5 > -1) { _local4 = _tri[_local5]; _local1 = _local4[0]; _local2 = _local4[1]; _local3 = _local4[2]; _local6 = _local1.sx; _local7 = _local1.sy; _local8 = _local2.sx; _local9 = _local2.sy; _local10 = _local3.sx; _local11 = _local3.sy; _local12 = _local1.x; _local13 = _local1.y; _local14 = _local2.x; _local15 = _local2.y; _local16 = _local3.x; _local17 = _local3.y; _tMat.tx = _local12; _tMat.ty = _local13; _tMat.a = ((_local14 - _local12) / _w); _tMat.b = ((_local15 - _local13) / _w); _tMat.c = ((_local16 - _local12) / _h); _tMat.d = ((_local17 - _local13) / _h); _sMat.a = ((_local8 - _local6) / _w); _sMat.b = ((_local9 - _local7) / _w); _sMat.c = ((_local10 - _local6) / _h); _sMat.d = ((_local11 - _local7) / _h); _sMat.tx = _local6; _sMat.ty = _local7; _tMat.invert(); _tMat.concat(_sMat); _mc.graphics.beginBitmapFill(_texture, _tMat, false, false); _mc.graphics.moveTo(_local6, _local7); _mc.graphics.lineTo(_local8, _local9); _mc.graphics.lineTo(_local10, _local11); _mc.graphics.endFill(); }; } } }//package view.tween
Section 79
//MoveTween (view.tween.MoveTween) package view.tween { import flash.events.*; import flash.display.*; import flash.utils.*; public class MoveTween extends EventDispatcher { private var _display:DisplayObject; private var _finishXPos:Number; private var _tweenTimerCount:int;// = 6 private var _moveIncrementX:Number; private var _moveIncrementY:Number; private var _newDepth:int; private var _startYPos:Number; private var _finishYPos:Number; private var _tweenTimer:Timer; private var _startXPos:Number; public function MoveTween(_arg1:DisplayObject, _arg2:Number, _arg3:Number, _arg4:int){ _tweenTimerCount = 6; super(); _display = _arg1; _startXPos = _display.x; _startYPos = _display.y; _finishXPos = _arg2; _finishYPos = _arg3; _newDepth = _arg4; _moveIncrementX = (_finishXPos - _startXPos); _moveIncrementY = (_finishYPos - _startYPos); init(); } private function init():void{ _tweenTimer = new Timer(10, _tweenTimerCount); _tweenTimer.addEventListener(TimerEvent.TIMER, onTweenTimer, false, 0, true); _tweenTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); startTween(); } private function onTimerComplete(_arg1:TimerEvent):void{ dispatchEvent(_arg1); } private function onTweenTimer(_arg1:TimerEvent):void{ _display.x = (_display.x + (_moveIncrementX / _tweenTimerCount)); _display.y = (_display.y + (_moveIncrementY / _tweenTimerCount)); } private function startTween():void{ try { if (((!((_newDepth == -1))) && (!((_display.parent == null))))){ _display.parent.setChildIndex(_display, _newDepth); }; _tweenTimer.start(); } catch(e:RangeError) { e.message; }; } } }//package view.tween
Section 80
//AbstractScoreScreen (view.AbstractScoreScreen) package view { import flash.display.*; public class AbstractScoreScreen extends MovieClip { public function display():void{ } public function displayHeader():void{ } } }//package view
Section 81
//ButtonArrowAnimation (view.ButtonArrowAnimation) package view { import flash.display.*; public class ButtonArrowAnimation extends MovieClip { public function ButtonArrowAnimation(){ stop(); } public function playAnimation():void{ this.play(); } } }//package view
Section 82
//Card (view.Card) package view { import controller.*; import flash.events.*; import model.*; import flash.display.*; import org.osflash.thunderbolt.*; import view.tween.*; public class Card extends Sprite { private var _front:Bitmap; private var _controller:ScarabGameController; private var _flipped:Boolean; private var _flipTween:FlipTween; private var _display:DisplayObject; private var _data:CardModel; private var _glowGenerator:GlowParticleGenerator; private var _back:Bitmap; public function Card(_arg1:CardModel, _arg2:ScarabGameController){ _data = _arg1; _controller = _arg2; _controller.addEventListener("GameOver", onGameOver, false, 0, true); init(); } private function dropFrontImage():void{ if (_front != null){ if (_front.parent == this){ this.removeChild(_front); _front = null; }; }; } private function init():void{ addEventListener(MouseEvent.MOUSE_DOWN, onClickHandler, false, 0, true); _data.addEventListener("active", onActive, false, 0, true); _data.addEventListener("removed", moveToCheckCardPos, false, 0, true); loadCardImages(); } private function startGlow():void{ var board:Sprite; try { board = Sprite(this.parent); _glowGenerator = new GlowParticleGenerator(board, this); this.addChild(_glowGenerator); _glowGenerator.x = (this.width * 0.5); _glowGenerator.y = (this.height * 0.5); _glowGenerator.start(); } catch(e:Error) { }; } private function setNewImage(_arg1:DisplayObject):void{ if (_display == null){ _display = _arg1; _display.visible = true; this.addChild(_display); } else { if (_display.parent == this){ this.removeChild(_display); _display = _arg1; _display.visible = true; this.addChild(_display); }; }; } public function loadCardImages():void{ loadBackImage(); loadFrontImage(); } private function loadFrontImage():void{ if (_front == null){ _front = ImageManager.getInstance().getBitmap(_data.value); _front.visible = false; this.addChild(_front); }; } public function changeToTopCardImage(_arg1:int):void{ switch (_arg1){ case 1: _back = new Bitmap(new Bonus1(0, 0)); break; case 2: _back = new Bitmap(new Bonus2(0, 0)); break; case 3: _back = new Bitmap(new Bonus3(0, 0)); break; }; setNewImage(_back); } private function onFlipComplete(_arg1:Event):void{ var flipTween:FlipTween; var event = _arg1; try { if (_flipTween != null){ if (_flipTween.parent == this){ this.removeChild(_flipTween); }; }; flipTween = (event.target as FlipTween); if (flipTween != null){ flipTween.removeEventListener("flipComplete", onFlipComplete); }; if (((!((_display == _front))) && (!((_front == null))))){ setNewImage(_front); }; _flipped = true; this.graphics.clear(); } catch(e:Error) { Logger.error(e.message); }; } private function moveToCheckCardPos(_arg1:Event):void{ var _local2:MoveTween; _data.playMove(); _local2 = new MoveTween(this, _data.checkCardPosX, _data.checkCardPosY, 51); _local2.addEventListener(TimerEvent.TIMER_COMPLETE, onMoveToCheckCardPosComplete, false, 0, true); } private function onClickHandler(_arg1:MouseEvent):void{ _controller.cardClicked(_data); } private function loadBackImage():void{ var _local1:int; _local1 = (Math.random() * 10); switch (_local1){ case 0: _back = new Bitmap(new Back0(62, 94)); break; case 1: _back = new Bitmap(new Back1(62, 94)); break; case 2: _back = new Bitmap(new Back2(62, 94)); break; case 3: _back = new Bitmap(new Back3(62, 94)); break; case 4: _back = new Bitmap(new Back4(62, 94)); break; case 5: _back = new Bitmap(new Back5(62, 94)); break; case 6: _back = new Bitmap(new Back6(62, 94)); break; case 7: _back = new Bitmap(new Back7(62, 94)); break; case 8: _back = new Bitmap(new Back8(62, 94)); break; case 9: _back = new Bitmap(new Back9(62, 94)); break; }; setNewImage(_back); } public function reset():void{ dropFrontImage(); _flipped = false; _display = null; } private function flip():void{ if (_data.cardScore == 1000){ _data.playScarabCardReveal(); }; _data.playFlip(); _back.visible = false; _flipTween = new FlipTween(_front.bitmapData, _back.bitmapData, 6, 6); this.addChild(_flipTween); _flipTween.addEventListener("flipComplete", onFlipComplete, false, 0, true); _flipTween.start(); } private function stopGlow():void{ try { this.removeChild(_glowGenerator); _glowGenerator.stop(); _glowGenerator = null; } catch(e:ArgumentError) { }; } private function onActive(_arg1:Event):void{ if (_data.cardScore == 1000){ startGlow(); }; flip(); } public function moveToStartPos():void{ var _local1:int; var _local2:int; var _local3:int; _data.playMove(); _local1 = _data.endPosX; _local2 = _data.endPosY; _local3 = _data.endDepth; new MoveTween(this, _local1, _local2, _local3); } private function onMoveToCheckCardPosComplete(_arg1:TimerEvent):void{ if (_data.cardScore == 1000){ stopGlow(); _data.playDrum(); }; } private function onGameOver(_arg1:Event):void{ if (_glowGenerator != null){ _glowGenerator.stop(); }; } } }//package view
Section 83
//ClockView (view.ClockView) package view { import flash.events.*; import model.*; import flash.display.*; import flash.utils.*; public class ClockView extends Sprite { private var _currentBitmap:Bitmap; private var _model:Clock; private var _pointers:Array; private var _rewindTimer:Timer; private var _glowBitmap:Bitmap; private var _rewindCounter:int;// = 59 public function ClockView(){ _rewindCounter = 59; super(); _model = Clock.getInstance(); _pointers = new Array(); _rewindTimer = new Timer(10, 29); init(); } private function init():void{ _model.addEventListener("tick", tick, false, 0, true); _model.addEventListener("rewind", rewind, false, 0, true); _model.addEventListener("reset", rewind, false, 0, true); _rewindTimer.addEventListener(TimerEvent.TIMER, onRewindTimer); _rewindTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onRewindTimerComplete); loadGlow(); loadPointerImage("clock1.png"); } private function loadPointerImage(_arg1:String):void{ var _local2:Class; var _local3:BitmapData; var _local4:Bitmap; _local2 = (getDefinitionByName(_arg1) as Class); _local3 = new _local2(0, 0); _local4 = new Bitmap(_local3); if (_currentBitmap == null){ _currentBitmap = _local4; _currentBitmap.y = (_currentBitmap.y - 11); _currentBitmap.x = (_currentBitmap.x + 15); this.addChildAt(_currentBitmap, 0); } else { if (_currentBitmap.parent == this){ this.removeChild(_currentBitmap); _currentBitmap = _local4; _currentBitmap.y = (_currentBitmap.y - 11); _currentBitmap.x = (_currentBitmap.x + 15); this.addChildAt(_currentBitmap, 0); }; }; } private function onRewindTimerComplete(_arg1:TimerEvent):void{ _rewindTimer.reset(); loadPointerImage("clock1.png"); _rewindCounter = 59; } private function tick(_arg1:Event):void{ var _local2:int; _local2 = _model.getReverseTicks(); switch (_local2){ case 0: _glowBitmap.alpha = 0; break; case 1: _glowBitmap.alpha = 0; break; case 8: _glowBitmap.alpha = 0.2; break; case 9: _glowBitmap.alpha = 0.4; break; case 10: _glowBitmap.alpha = 0.6; break; case 11: _glowBitmap.alpha = 0.9; break; case 12: _glowBitmap.alpha = 1; break; }; if (_local2 != 0){ loadPointerImage((("clock" + (_local2 * 5)) + ".png")); }; } private function loadGlow():void{ _glowBitmap = new Bitmap(new Glow(0, 0)); _glowBitmap.x = 15; _glowBitmap.y = -12; _glowBitmap.alpha = 0; this.addChild(_glowBitmap); } private function rewind(_arg1:Event):void{ loadPointerImage("clock1.png"); } private function onRewindTimer(_arg1:TimerEvent):void{ if (_rewindCounter > 0){ loadPointerImage((("clock" + _rewindCounter) + ".png")); _rewindCounter = (_rewindCounter - 2); }; } } }//package view
Section 84
//Consts (view.Consts) package view { public class Consts { public static const BACKCLICK:String = "BACKCLICK"; public static const HOWTOPLAYCLICK:String = "HOWTOPLAYCLICK"; public static const PLAYCLICK:String = "PLAYCLICK"; public static const GAMARENACLICK:String = "GAMARENACLICK"; public static const PLAYAGAINCLICK:String = "PLAYAGAINCLICK"; public static const DECKDRAG:String = "DECKDRAG"; } }//package view
Section 85
//GameOverScoreScreen (view.GameOverScoreScreen) package view { import controller.*; import flash.events.*; import model.*; import flash.display.*; import flash.text.*; import flash.utils.*; public class GameOverScoreScreen extends AbstractScoreScreen { private var _level4TF:TextField; private var _waitAfterGameOverTimer:Timer; private var _timeBonusTextTF:TextField; private var _scarabCardScoreTF:TextField; private var _level2TextTF:TextField; private var _headerTF:TextField; private var _cardScoreTextTF:TextField; private var _totalScoreTextTF:TextField; private var _model:ScarabGameModel; private var _inARowScoreTF:TextField; private var _controller:ScarabGameController; private var _scoreBackground:Sprite; private var _cardsLeftTF:TextField; private var _level3TF:TextField; private var _level2TF:TextField; private var _scoreYSeparation:int;// = 20 private var _level4TextTF:TextField; private var _totalScoreTF:TextField; private var _level3TextTF:TextField; private var _timeBonusTF:TextField; private var _scoreStartY:int;// = 10 private var _cardScoreTF:TextField; private var _inARowScoreTextTF:TextField; private var _level1TF:TextField; private var _level5TF:TextField; private var _cardsLeftTextTF:TextField; private var _scoreAnimationTimer:Timer; private var _level5TextTF:TextField; private var _level1TextTF:TextField; private var _scarabCardTextTF:TextField; public function GameOverScoreScreen(_arg1:ScarabGameController, _arg2:ScarabGameModel){ var _local3:Font; var _local4:Font; var _local5:TextFormat; var _local6:TextFormat; var _local7:TextFormat; var _local8:TextFormat; var _local9:int; var _local10:int; _scoreStartY = 10; _scoreYSeparation = 20; super(); _controller = _arg1; _controller.addEventListener("gameOverScore", display, false, 0, true); _model = _arg2; _local3 = new MyriadPro(); _local4 = new NimbusSans(); _local5 = new TextFormat(); _local5.color = 0xFFFFFF; _local5.font = _local3.fontName; _local5.size = 12; _local6 = new TextFormat(); _local6.color = 0xFFFFFF; _local6.font = _local4.fontName; _local6.size = 16; _local6.bold = true; _local7 = new TextFormat(); _local7.color = 0xFFFFFF; _local7.font = _local3.fontName; _local7.size = 12; _local7.align = TextFormatAlign.RIGHT; _local8 = _local7; _local9 = 10; _local10 = 210; _headerTF = createAndPlaceTextField(10, 7, "GAME COMPLETED", _local6); _headerTF.width = 200; _scarabCardTextTF = createAndPlaceTextField(_local9, (_scoreStartY + _scoreYSeparation), "Scarab Cards", _local5); _cardScoreTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 2)), "Card Score", _local5); _inARowScoreTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 3)), "In-a-row Score", _local5); _timeBonusTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 4)), "Time Bonus", _local5); _cardsLeftTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 5)), "Cards Left", _local5); _level1TextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 7)), "Level 1 score", _local5); _level2TextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 8)), "Level 2 score", _local5); _level3TextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 9)), "Level 3 score", _local5); _level4TextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 10)), "Level 4 score", _local5); _level5TextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 11)), "Level 5 score", _local5); _totalScoreTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 8)), "Total Score", _local5); _scarabCardScoreTF = createAndPlaceTextField(_local10, (_scoreStartY + _scoreYSeparation), "", _local8); _cardScoreTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 2)), "", _local8); _inARowScoreTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 3)), "", _local8); _timeBonusTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 4)), "", _local8); _cardsLeftTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 5)), "", _local8); _level1TF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 7)), "", _local8); _level2TF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 8)), "", _local8); _level3TF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 9)), "", _local8); _level4TF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 10)), "", _local8); _level5TF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 11)), "", _local8); _totalScoreTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 8)), "", _local8); setBackground(); } private function setBackground():void{ try { switch (_model.currentLevel){ case 1: _scoreBackground = new GameOverWindowLevel1(); this.addChildAt(_scoreBackground, 0); break; case 2: _scoreBackground = new GameOverWindowLevel2(); _scoreBackground.y = (_scoreBackground.y - 30); this.addChildAt(_scoreBackground, 0); break; case 3: _scoreBackground = new GameOverWindowLevel3(); _scoreBackground.y = (_scoreBackground.y - 60); this.addChildAt(_scoreBackground, 0); break; case 4: _scoreBackground = new GameOverWindowLevel4(); _scoreBackground.y = (_scoreBackground.y - 80); this.addChildAt(_scoreBackground, 0); break; case 5: _scoreBackground = new GameOverWindowLevel5(); _scoreBackground.y = (_scoreBackground.y - 100); this.addChildAt(_scoreBackground, 0); break; }; _scoreBackground.addChild(_headerTF); } catch(e:Error) { }; } private function onGameOverTimer(_arg1:TimerEvent):void{ var _local2:Timer; _local2 = (_arg1.target as Timer); switch (_local2.currentCount){ case 1: _scoreBackground.addChild(_scarabCardTextTF); _scoreBackground.addChild(_scarabCardScoreTF); break; case 2: _scoreBackground.addChild(_cardScoreTextTF); _scoreBackground.addChild(_cardScoreTF); break; case 3: _scoreBackground.addChild(_inARowScoreTextTF); _scoreBackground.addChild(_inARowScoreTF); break; case 4: _scoreBackground.addChild(_timeBonusTextTF); _scoreBackground.addChild(_timeBonusTF); break; case 5: _scoreBackground.addChild(_level1TextTF); _scoreBackground.addChild(_level1TF); break; case 6: _scoreBackground.addChild(_level2TextTF); _scoreBackground.addChild(_level2TF); break; case 7: _scoreBackground.addChild(_level3TextTF); _scoreBackground.addChild(_level3TF); break; case 8: _scoreBackground.addChild(_level4TextTF); _scoreBackground.addChild(_level4TF); break; case 9: _scoreBackground.addChild(_level5TextTF); _scoreBackground.addChild(_level5TF); break; }; } private function createAndPlaceTextField(_arg1:int, _arg2:int, _arg3:String, _arg4:TextFormat):TextField{ var _local5:TextField; _local5 = new TextField(); _local5.x = _arg1; _local5.y = _arg2; _local5.defaultTextFormat = _arg4; _local5.embedFonts = true; _local5.antiAliasType = AntiAliasType.ADVANCED; _local5.text = _arg3; _local5.embedFonts = true; _local5.selectable = false; return (_local5); } private function onWaitComplete(_arg1:TimerEvent):void{ dispatchEvent(new TextEvent("waitComplete", false, false, Score.getInstance().getGameOverTotalScore().toString())); } private function onGameOverTimerComplete(_arg1:TimerEvent):void{ _scoreBackground.addChild(_totalScoreTextTF); _scoreBackground.addChild(_totalScoreTF); _waitAfterGameOverTimer = new Timer(4000, 1); _waitAfterGameOverTimer.addEventListener(TimerEvent.TIMER, onWaitComplete); _waitAfterGameOverTimer.start(); } override public function display():void{ var _local1:Score; var _local2:int; _local1 = Score.getInstance(); _local2 = 4; _local2 = (_local2 + _model.currentLevel); _totalScoreTextTF.y = (_totalScoreTextTF.y + (_scoreYSeparation * _model.currentLevel)); _totalScoreTF.y = (_totalScoreTF.y + (_scoreYSeparation * _model.currentLevel)); _scoreAnimationTimer = new Timer(250, _local2); _scoreAnimationTimer.addEventListener(TimerEvent.TIMER, onGameOverTimer, false, 0, true); _scoreAnimationTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onGameOverTimerComplete, false, 0, true); _scarabCardScoreTF.text = _local1.getGameOverScarabCardScore().toString(); _cardScoreTF.text = _local1.getGameOverCardScore().toString(); _inARowScoreTF.text = _local1.getGameOverInARowScore().toString(); _timeBonusTF.text = _local1.getGameOverTimeBonusScore().toString(); _level1TF.text = _local1.getTotalScore(_local1.LEVEL1).toString(); _level2TF.text = _local1.getTotalScore(_local1.LEVEL2).toString(); _level3TF.text = _local1.getTotalScore(_local1.LEVEL3).toString(); _level4TF.text = _local1.getTotalScore(_local1.LEVEL4).toString(); _level5TF.text = _local1.getTotalScore(_local1.LEVEL5).toString(); _totalScoreTF.text = _local1.getGameOverTotalScore().toString(); _scoreAnimationTimer.start(); } } }//package view
Section 86
//GlowLight (view.GlowLight) package view { import flash.events.*; import flash.display.*; import flash.utils.*; public class GlowLight extends Sprite { private var _changeDirChance:int;// = 10 private var _yDir:int; private var _speed:int;// = 4 private var _glowAnimation:MovieClip; private var _xDir:int; private var _movingTimer:Timer; public function GlowLight(){ _speed = 4; _changeDirChance = 10; super(); this.mouseEnabled = false; this.mouseChildren = false; _xDir = (_xDir + (Math.random() * _speed)); _yDir = (_yDir + (Math.random() * _speed)); addRandomBitmap(); startMovingTimer(); } private function addRandomBitmap():void{ var number:Number; number = Math.random(); try { if (number > 0.5){ _glowAnimation = new Spark1(); this.addChild(_glowAnimation); } else { _glowAnimation = new Spark2(); this.addChild(_glowAnimation); }; } catch(e:ArgumentError) { }; } private function onMovingTimer(_arg1:TimerEvent):void{ var _local2:int; _local2 = (Math.random() * _changeDirChance); if (_local2 == 0){ _xDir = (((Math.random() * 2) - 1) * _speed); _yDir = (((Math.random() * 2) - 1) * _speed); }; this.x = (this.x + (Math.random() * _xDir)); this.y = (this.y + (Math.random() * _yDir)); } private function onMovingTimerComplete(_arg1:TimerEvent):void{ var event = _arg1; try { _movingTimer.stop(); _movingTimer.removeEventListener(TimerEvent.TIMER, onMovingTimer); _movingTimer.removeEventListener(TimerEvent.TIMER, onMovingTimerComplete); _movingTimer = null; this.parent.removeChild(this); } catch(e:ArgumentError) { }; } private function startMovingTimer():void{ var _local1:int; _local1 = ((Math.random() * 100) + 20); _movingTimer = new Timer(20, _local1); _movingTimer.addEventListener(TimerEvent.TIMER, onMovingTimer, false, 0, true); _movingTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onMovingTimerComplete, false, 0, true); _movingTimer.start(); } } }//package view
Section 87
//GlowParticleGenerator (view.GlowParticleGenerator) package view { import flash.events.*; import flash.display.*; import flash.utils.*; public class GlowParticleGenerator extends Sprite { private var _generateGlowTimer:Timer; private var _board:Sprite; private var _card:Card; public function GlowParticleGenerator(_arg1:Sprite, _arg2:Card){ _board = _arg1; _card = _arg2; init(); } public function stop():void{ _generateGlowTimer.stop(); _generateGlowTimer.removeEventListener(TimerEvent.TIMER, onGenerateGlowTimer); } private function init():void{ _generateGlowTimer = new Timer(75, 0); _generateGlowTimer.addEventListener(TimerEvent.TIMER, onGenerateGlowTimer, false, 0, true); } public function start():void{ _generateGlowTimer.start(); } private function onGenerateGlowTimer(_arg1:TimerEvent):void{ var glowLight:GlowLight; var randX:int; var randY:int; var event = _arg1; try { glowLight = new GlowLight(); randX = ((Math.random() * 100) - 50); randY = ((Math.random() * 100) - 50); glowLight.x = (_card.x + randX); glowLight.y = (_card.y + randY); _board.addChild(glowLight); } catch(e:Error) { }; } } }//package view
Section 88
//HowToPlayWindow (view.HowToPlayWindow) package view { import flash.events.*; import flash.display.*; public class HowToPlayWindow extends MovieClip { public var backBtn:SmallButton; public var scoringBtn:ToggleButton; public var basicsBtn:ToggleButton; public function HowToPlayWindow(){ stop(); showBasic(); basicsBtn.addEventListener(MouseEvent.CLICK, onBasicsBtnClick); scoringBtn.addEventListener(MouseEvent.CLICK, onScoringBtnClick); backBtn.addEventListener(MouseEvent.CLICK, onBackBtnClick); } private function onBackBtnClick(_arg1:MouseEvent):void{ dispatchEvent(new Event(Consts.BACKCLICK)); } private function showBasic(_arg1:Event=null):void{ gotoAndStop(1); basicsBtn.selected = true; scoringBtn.selected = false; basicsBtn.showOverMode(); scoringBtn.showOutMode(); } private function showScoring(_arg1:Event=null):void{ gotoAndStop(2); scoringBtn.selected = true; basicsBtn.selected = false; basicsBtn.showOutMode(); scoringBtn.showOverMode(); } private function onBasicsBtnClick(_arg1:MouseEvent):void{ showBasic(); } private function onScoringBtnClick(_arg1:MouseEvent):void{ showScoring(); } } }//package view
Section 89
//InstructionsButtonReverse (view.InstructionsButtonReverse) package view { import flash.events.*; public class InstructionsButtonReverse extends SmallButton { public function InstructionsButtonReverse(){ text.textColor = 0xFFFFFF; } override protected function onMouseOut(_arg1:MouseEvent):void{ text.textColor = 0xFFFFFF; } override protected function onMouseOver(_arg1:MouseEvent):void{ text.textColor = 0xFFFFFF; } } }//package view
Section 90
//LoadingButton (view.LoadingButton) package view { import flash.events.*; import model.*; import flash.display.*; import flash.text.*; public class LoadingButton extends MovieClip { public var text:TextField; public var animation:ButtonArrowAnimation; public function LoadingButton(){ super(); try { stop(); text.mouseEnabled = false; text.selectable = false; this.mouseChildren = true; } catch(e:Error) { ErrorHandler.getInstance().printError(e); }; } private function onMouseOver(_arg1:MouseEvent):void{ text.textColor = 0xFFFFFF; } private function onMouseOut(_arg1:MouseEvent):void{ text.textColor = 9817089; } public function enable():void{ animation.playAnimation(); this.gotoAndStop("enabled"); text.textColor = 9817089; this.buttonMode = true; this.addEventListener(MouseEvent.ROLL_OVER, onMouseOver, false, 0, true); this.addEventListener(MouseEvent.ROLL_OUT, onMouseOut, false, 0, true); } public function disable():void{ animation.gotoAndStop(1); this.gotoAndStop("disabled"); text.textColor = 0x999999; this.buttonMode = false; this.removeEventListener(MouseEvent.ROLL_OVER, onMouseOver); this.removeEventListener(MouseEvent.ROLL_OUT, onMouseOut); } } }//package view
Section 91
//NoMoreMovesTween (view.NoMoreMovesTween) package view { import flash.events.*; import flash.display.*; public class NoMoreMovesTween extends MovieClip { public function NoMoreMovesTween(){ stop(); } private function onEnterFrame(_arg1:Event):void{ if (this.currentFrame == 49){ stop(); this.removeEventListener(Event.ENTER_FRAME, onEnterFrame); dispatchEvent(new Event("playFadeComplete")); }; } public function playFade():void{ this.addEventListener(Event.ENTER_FRAME, onEnterFrame, false, 0, true); play(); } } }//package view
Section 92
//Profile (view.Profile) package view { import flash.events.*; import model.*; import flash.display.*; import fl.transitions.*; import flash.text.*; import fl.transitions.easing.*; public class Profile extends MovieClip { public var bestScoreTF:TextField; public var buddyRankTF:TextField; public var bestScore:TextField; public var buddyRank:TextField; public var globalRankTF:TextField; private var _slideInTween:Tween; public var playAgainBtn:SmallButton; public var globalRank:TextField; public var tryMoreGamesButton:SmallButton; public var scoreTF:TextField; public var motivationTF:TextField; public var scoreHeader:TextField; public function Profile(){ init(); } private function onGamararenaBtnClick(_arg1:MouseEvent):void{ dispatchEvent(new Event(Consts.GAMARENACLICK)); } private function onPlayAgainBtnClick(_arg1:MouseEvent):void{ dispatchEvent(new Event(Consts.PLAYAGAINCLICK)); } private function init():void{ try { playAgainBtn.addEventListener(MouseEvent.CLICK, onPlayAgainBtnClick); tryMoreGamesButton.addEventListener(MouseEvent.CLICK, onGamararenaBtnClick); } catch(e:Error) { ErrorHandler.getInstance().printError(e); }; } private function onSlideInTweenFinished(_arg1:TweenEvent=null):void{ _slideInTween.removeEventListener(TweenEvent.MOTION_FINISH, onSlideInTweenFinished); _slideInTween = null; } public function display():void{ var yPos:int; var xPos:int; try { yPos = ((this.stage.stageHeight * 0.5) - (this.height * 0.5)); xPos = ((this.stage.stageWidth * 0.5) - (this.width * 0.5)); this.y = yPos; _slideInTween = new Tween(this, "x", Strong.easeOut, -300, xPos, 1, true); _slideInTween.addEventListener(TweenEvent.MOTION_FINISH, onSlideInTweenFinished, false, 0, true); if (ScarabSolitaireGame.MainGame.bestScore < Score.getInstance().getGameOverTotalScore()){ ScarabSolitaireGame.MainGame.bestScore = Score.getInstance().getGameOverTotalScore(); motivationTF.text = "Congratulations! \nNew Personal Best Score!"; } else { motivationTF.text = "You can do better, try again!"; }; scoreTF.text = Score.getInstance().getGameOverTotalScore().toString(); bestScoreTF.text = ScarabSolitaireGame.MainGame.bestScore.toString(); } catch(e:TypeError) { ErrorHandler.getInstance().printError(e); }; } public function update(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:String):void{ var globalRankText:String; var buddyRankText:String; var bestScore = _arg1; var globalRank = _arg2; var globalCount = _arg3; var buddyRank = _arg4; var buddyCount = _arg5; var motivation = _arg6; try { globalRankText = ((globalRank + " of ") + globalCount); buddyRankText = ((buddyRank + " of ") + buddyCount); globalRankTF.text = globalRankText; buddyRankTF.text = buddyRankText; bestScoreTF.text = bestScore; motivationTF.text = motivation; scoreHeader.visible = true; scoreTF.visible = true; bestScoreTF.visible = true; buddyRankTF.visible = true; globalRankTF.visible = true; motivationTF.visible = true; } catch(e:Error) { ErrorHandler.getInstance().printError(e); }; } } }//package view
Section 93
//ScarabGameView (view.ScarabGameView) package view { import controller.*; import flash.events.*; import model.*; import flash.display.*; import flash.utils.*; public class ScarabGameView extends Sprite { private var _cardCounter:int;// = 51 private var _model:ScarabGameModel; private var _controller:ScarabGameController; private var _howToPlay:HowToPlayWindow; private var _clockView:ClockView; private var _profile:Profile; private var _cards:Array; private var _scoreFadeText:ScoreTextFade; private var _scarab:ScarabGraphic; private var _splash:Splash; private var _noMoreMovesTween:DisplayObject; private var _topBar:TopBar; private var _cardPositioningTimer:Timer; private var _board:Sprite; public function ScarabGameView(_arg1:ScarabGameController, _arg2:ScarabGameModel){ _cardCounter = 51; super(); _cards = new Array(); _controller = _arg1; _model = _arg2; _clockView = new ClockView(); } public function displayNoMoreMovesTween(_arg1:DisplayObject):void{ var _local2:int; _noMoreMovesTween = _arg1; _local2 = ((stage.stageWidth / 2) - (_noMoreMovesTween.width / 2)); _noMoreMovesTween.x = _local2; _noMoreMovesTween.y = 290; this.addChild(_noMoreMovesTween); } public function moveCards():void{ _cardCounter = 51; _cardPositioningTimer = new Timer(65, 52); _cardPositioningTimer.addEventListener(TimerEvent.TIMER, moveCard); _cardPositioningTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onMoveCardsTimerComplete); _cardPositioningTimer.start(); } public function displayHowToPlay():void{ _howToPlay = new HowToPlayWindow(); _howToPlay.addEventListener(Consts.BACKCLICK, howToPlayBackClick); this.addChild(_howToPlay); } public function displayClockView():void{ _clockView.x = -15; _clockView.y = 337; this.addChild(_clockView); } public function displayBoard():void{ _board = new Sprite(); this.addChild(_board); } public function addScarabPiece():void{ _scarab.addScarabPiece(); } private function onMoveCardsTimerComplete(_arg1:TimerEvent):void{ _cardPositioningTimer.removeEventListener(TimerEvent.TIMER, moveCard); _cardPositioningTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, onMoveCardsTimerComplete); _cardPositioningTimer = null; _controller.playIntro(); } public function resetScarab():void{ _scarab.display(); } public function displayBackground():void{ var _local1:Bitmap; _local1 = new Bitmap(new Background(0, 0)); _local1.y = 42; this.addChild(_local1); } private function moveCard(_arg1:TimerEvent):void{ var _local2:Card; if (_cardPositioningTimer.currentCount == 27){ dispatchEvent(new Event(Consts.DECKDRAG)); }; _local2 = (_cards[_cardCounter] as Card); _local2.moveToStartPos(); _cardCounter--; } public function moveCardsToDefault():void{ var _local1:Card; var _local2:int; var _local3:int; _local2 = _cards.length; while (_local3 < _local2) { _local1 = _cards[_local3]; _local1.x = 179; _local1.y = 330; _board.setChildIndex(_local1, _local3); _local3++; }; } public function displayProfile():void{ _profile = new Profile(); _profile.addEventListener(Consts.PLAYAGAINCLICK, dispatchCustomEvent, false, 0, true); _profile.addEventListener(Consts.GAMARENACLICK, dispatchCustomEvent, false, 0, true); this.addChild(_profile); _profile.display(); } public function setCardImages():void{ var _local1:Card; for each (_local1 in _cards) { _local1.loadCardImages(); }; } public function removeHowToPlay():void{ if (_howToPlay != null){ if (_howToPlay.parent == this){ this.removeChild(_howToPlay); }; _howToPlay = null; }; } public function resetCards():void{ var _local1:Card; for each (_local1 in _cards) { _local1.reset(); }; } public function playScarab():void{ _scarab.playRemoveScarabPieces(); } public function displayCards():void{ var _local1:int; _local1 = 0; while (_local1 < _cards.length) { _board.addChild(_cards[_local1]); _local1++; }; } public function removeNoMoreMovesTween():void{ this.removeChild(_noMoreMovesTween); _noMoreMovesTween = null; } public function createCards():void{ var _local1:int; var _local2:CardModel; var _local3:Card; while (_local1 < 52) { _local2 = _model.getCardModel(_local1); _local3 = new Card(_local2, _controller); _local3.x = 179; _local3.y = 330; _cards.push(_local3); _local1++; }; } public function displaySplash():void{ _splash = new Splash(); _splash.addEventListener(Consts.HOWTOPLAYCLICK, dispatchCustomEvent, false, 0, true); _splash.addEventListener(Consts.PLAYCLICK, dispatchCustomEvent, false, 0, true); _splash.addEventListener(Consts.GAMARENACLICK, dispatchCustomEvent, false, 0, true); this.addChild(_splash); } private function dispatchCustomEvent(_arg1:Event):void{ dispatchEvent(_arg1); } public function displayScarab():void{ _scarab = new ScarabGraphic(this, _controller); _scarab.x = 459; _scarab.y = 280; this.addChild(_scarab); _scarab.display(); } public function displayScoreFadeText():void{ _scoreFadeText = new ScoreTextFade(); this.addChild(_scoreFadeText); } public function scarabAnimationFinished():void{ _controller.playIntro(); } public function changeTopCards():void{ var _local1:Card; var _local2:Card; var _local3:Card; _local1 = _cards[49]; _local2 = _cards[50]; _local3 = _cards[51]; _local1.changeToTopCardImage(1); _local2.changeToTopCardImage(2); _local3.changeToTopCardImage(3); _controller.playIntro(); } public function displayTopBar():void{ _topBar = new TopBar(_model); this.addChild(_topBar); _topBar.addEventListener(Consts.HOWTOPLAYCLICK, dispatchCustomEvent, false, 0, true); _topBar.addEventListener(Consts.GAMARENACLICK, dispatchCustomEvent, false, 0, true); _topBar.display(); } private function howToPlayBackClick(_arg1:Event=null):void{ dispatchEvent(_arg1); } } }//package view
Section 94
//ScarabGraphic (view.ScarabGraphic) package view { import controller.*; import flash.events.*; import flash.display.*; import flash.utils.*; public class ScarabGraphic extends Sprite { private var _scarabBack:Bitmap; private var _scarabTimer:Timer; private var _scarabPearl:Bitmap; private var _view:ScarabGameView; private var _piecesLeft:int;// = 3 private var _scarabBody:Bitmap; private var _scarabWings:Bitmap; public function ScarabGraphic(_arg1:ScarabGameView, _arg2:ScarabGameController){ _piecesLeft = 3; super(); _view = _arg1; init(); } private function init():void{ } public function playRemoveScarabPieces():void{ _scarabTimer = new Timer(100, 3); _scarabTimer.addEventListener(TimerEvent.TIMER, removeScarabPiece); _scarabTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onScarabTimerComplete); _scarabTimer.start(); } public function addScarabPiece():void{ switch (_piecesLeft){ case 1: this.addChild(_scarabBody); _piecesLeft++; break; case 2: this.addChild(_scarabWings); _piecesLeft++; break; case 3: this.addChild(_scarabPearl); break; }; } private function removeScarabPiece(_arg1:TimerEvent):void{ var event = _arg1; try { switch (_piecesLeft){ case 3: this.removeChild(_scarabBody); _piecesLeft--; break; case 2: this.removeChild(_scarabWings); _piecesLeft--; break; case 1: this.removeChild(_scarabPearl); break; }; } catch(error:ArgumentError) { }; } public function display():void{ _scarabBack = new Bitmap(new ScarabBack(290, 186)); _scarabBody = new Bitmap(new ScarabBody(290, 186)); _scarabPearl = new Bitmap(new ScarabPearl(290, 186)); _scarabWings = new Bitmap(new ScarabWings(290, 186)); this.addChild(_scarabBack); this.addChild(_scarabBody); this.addChild(_scarabPearl); this.addChild(_scarabWings); } private function onScarabTimerComplete(_arg1:TimerEvent):void{ _scarabTimer.removeEventListener(TimerEvent.TIMER, removeScarabPiece); _scarabTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, onScarabTimerComplete); _scarabTimer = null; _view.scarabAnimationFinished(); } } }//package view
Section 95
//ScoreScreen (view.ScoreScreen) package view { import controller.*; import flash.events.*; import model.*; import flash.display.*; import flash.text.*; import flash.utils.*; public class ScoreScreen extends AbstractScoreScreen { private var _timeBonusTextTF:TextField; private var _scarabCardScoreTF:TextField; private var _totalScoreTextTF:TextField; private var _headerTF:TextField; private var _cardScoreTextTF:TextField; private var _inARowScoreTF:TextField; private var _model:ScarabGameModel; private var _controller:ScarabGameController; private var _scoreBackground:Sprite; private var _cardsLeftTF:TextField; private var _totalScoreTF:TextField; private var _scoreYSeparation:int;// = 20 private var _cardScoreTF:TextField; private var _score:Score; private var _timeBonusTF:TextField; private var _scoreStartY:int;// = 30 private var _inARowScoreTextTF:TextField; private var _scoreAnimationTimer:Timer; private var _cardsLeftTextTF:TextField; private var _scarabCardTextTF:TextField; public function ScoreScreen(_arg1:ScarabGameController, _arg2:ScarabGameModel){ var _local3:Font; var _local4:Font; var _local5:TextFormat; var _local6:TextFormat; var _local7:TextFormat; var _local8:TextFormat; var _local9:int; var _local10:int; _scoreStartY = 30; _scoreYSeparation = 20; super(); _controller = _arg1; _model = _arg2; _score = Score.getInstance(); _local3 = new MyriadPro(); _local4 = new NimbusSans(); _local5 = new TextFormat(); _local5.color = 0xFFFFFF; _local5.font = _local3.fontName; _local5.size = 12; _local6 = new TextFormat(); _local6.color = 0xFFFFFF; _local6.font = _local4.fontName; _local6.size = 16; _local6.bold = true; _local7 = new TextFormat(); _local7.color = 0xFFFFFF; _local7.font = _local3.fontName; _local7.size = 12; _local7.align = TextFormatAlign.RIGHT; _local8 = _local7; _scoreBackground = new ScoreBackground(); this.addChild(_scoreBackground); _local9 = 10; _local10 = (this.width - 130); _headerTF = createAndPlaceTextField(_local9, 5, "Header", _local6); _headerTF.width = 200; _headerTF.defaultTextFormat = _local6; _scarabCardTextTF = createAndPlaceTextField(_local9, (_scoreStartY + _scoreYSeparation), "Scarab Cards", _local5); _cardScoreTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 2)), "Card Score", _local5); _inARowScoreTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 3)), "In-a-row Score", _local5); _timeBonusTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 4)), "Time Bonus", _local5); _cardsLeftTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 5)), "Cards Left", _local5); _totalScoreTextTF = createAndPlaceTextField(_local9, (_scoreStartY + (_scoreYSeparation * 7)), "Total Score", _local5); _scarabCardScoreTF = createAndPlaceTextField(_local10, (_scoreStartY + _scoreYSeparation), "", _local8); _cardScoreTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 2)), "", _local8); _inARowScoreTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 3)), "", _local8); _timeBonusTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 4)), "", _local8); _cardsLeftTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 5)), "", _local8); _totalScoreTF = createAndPlaceTextField(_local10, (_scoreStartY + (_scoreYSeparation * 7)), "", _local8); displayHeader(); } private function onLevelScoreTimer(_arg1:TimerEvent):void{ var _local2:Timer; _local2 = (_arg1.target as Timer); switch (_local2.currentCount){ case 1: this.addChild(_scarabCardTextTF); this.addChild(_scarabCardScoreTF); break; case 2: this.addChild(_cardScoreTextTF); this.addChild(_cardScoreTF); break; case 3: this.addChild(_inARowScoreTextTF); this.addChild(_inARowScoreTF); break; case 4: this.addChild(_timeBonusTextTF); this.addChild(_timeBonusTF); break; case 6: this.addChild(_totalScoreTextTF); this.addChild(_totalScoreTF); break; }; } private function createAndPlaceTextField(_arg1:int, _arg2:int, _arg3:String, _arg4:TextFormat):TextField{ var _local5:TextField; _local5 = new TextField(); _local5.x = _arg1; _local5.y = _arg2; _local5.defaultTextFormat = _arg4; _local5.embedFonts = true; _local5.antiAliasType = AntiAliasType.ADVANCED; _local5.selectable = false; _local5.mouseEnabled = false; _local5.text = _arg3; return (_local5); } override public function display():void{ var _local1:int; var _local2:int; _local1 = _model.currentLevel; _local2 = (_local1 - 1); _scoreAnimationTimer = new Timer(250, 20); _scoreAnimationTimer.addEventListener(TimerEvent.TIMER, onLevelScoreTimer, false, 0, true); _scoreAnimationTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onLevelScoreTimerComplete, false, 0, true); _scarabCardScoreTF.text = _score.getLevelScore(_local2, _score.SCARABCARDSCORE).toString(); _cardScoreTF.text = _score.getLevelScore(_local2, _score.CARDSCORE).toString(); _inARowScoreTF.text = _score.getLevelScore(_local2, _score.INAROWSCORE).toString(); _timeBonusTF.text = _score.getLevelScore(_local2, _score.TIMEBONUS).toString(); _totalScoreTF.text = _score.getLevelScore(_local2, _score.TOTALSCORE).toString(); _scoreAnimationTimer.start(); } override public function displayHeader():void{ var currentLevel:int; currentLevel = _model.currentLevel; try { _headerTF.text = (("LEVEL " + currentLevel.toString()) + " COMPLETED"); this.addChild(_headerTF); } catch(e:Error) { ErrorHandler.getInstance().printError(e); }; } private function onLevelScoreTimerComplete(_arg1:TimerEvent):void{ _controller.levelScoreTimerComplete(); } } }//package view
Section 96
//ScoreTextFade (view.ScoreTextFade) package view { import flash.events.*; import model.*; import flash.display.*; import flash.text.*; import flash.utils.*; public class ScoreTextFade extends Sprite { private var _fadeTF:TextField; private var _fadeFont:Font; private var _fadeStartX:int;// = 360 private var _fadeStartY:int;// = 280 private var _fadeTimer:Timer; public function ScoreTextFade(){ var _local1:TextFormat; _fadeStartX = 360; _fadeStartY = 280; super(); _fadeTimer = new Timer(20, 20); _fadeTimer.addEventListener(TimerEvent.TIMER, onFadeTimer); _fadeTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onFadeTimerComplete); Score.getInstance().addEventListener("cardScore", onNewScore, false, 0, true); this.mouseChildren = false; _fadeTF = new TextField(); _fadeTF.embedFonts = true; _fadeTF.antiAliasType = AntiAliasType.ADVANCED; this.addChild(_fadeTF); _fadeFont = new KaraBenNemsi(); _local1 = new TextFormat(); _local1.color = 15977257; _local1.font = _fadeFont.fontName; _local1.align = TextFormatAlign.LEFT; _fadeTF.defaultTextFormat = _local1; this.x = _fadeStartX; this.y = _fadeStartY; } private function onFadeTimer(_arg1:TimerEvent):void{ _fadeTF.alpha = (_fadeTF.alpha - 0.05); this.y = (this.y - 1); this.x = (this.x - 1); this.width = (this.width + 15); this.height = (this.height + 15); } private function onFadeTimerComplete(_arg1:TimerEvent):void{ resetFadeTimer(); } private function resetFadeTimer():void{ _fadeTF.alpha = 1; _fadeTF.text = ""; this.y = _fadeStartY; this.x = _fadeStartX; this.width = 100; this.height = 100; _fadeTimer.reset(); } private function onNewScore(_arg1:TextEvent):void{ if (_fadeTimer.running){ resetFadeTimer(); }; _fadeTF.text = _arg1.text; _fadeTimer.start(); } } }//package view
Section 97
//SmallButton (view.SmallButton) package view { import flash.events.*; import flash.display.*; import flash.text.*; public class SmallButton extends MovieClip { public var text:TextField; public var icon:TextField; public function SmallButton(){ text.mouseEnabled = false; text.selectable = false; text.antiAliasType = AntiAliasType.ADVANCED; this.mouseChildren = true; init(); } protected function onMouseOver(_arg1:MouseEvent):void{ text.textColor = 0xFFFFFF; } protected function init():void{ this.buttonMode = true; this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } protected function onMouseOut(_arg1:MouseEvent):void{ text.textColor = 9817089; } } }//package view
Section 98
//Splash (view.Splash) package view { import flash.events.*; import flash.display.*; public class Splash extends Sprite { public var howToPlayBtn:SmallButton; public var logoMC:MovieClip; public var playBtn:LoadingButton; public function Splash(){ playBtn.enable(); playBtn.addEventListener(MouseEvent.CLICK, playClick); howToPlayBtn.icon.mouseEnabled = false; howToPlayBtn.addEventListener(MouseEvent.CLICK, howToPlayClick); logoMC.buttonMode = true; logoMC.addEventListener(MouseEvent.CLICK, logoClick); } private function howToPlayClick(_arg1:MouseEvent):void{ dispatchEvent(new Event(Consts.HOWTOPLAYCLICK)); } private function logoClick(_arg1:MouseEvent):void{ dispatchEvent(new Event(Consts.GAMARENACLICK)); } private function playClick(_arg1:MouseEvent):void{ dispatchEvent(new Event(Consts.PLAYCLICK)); } } }//package view
Section 99
//ToggleButton (view.ToggleButton) package view { import flash.events.*; import flash.display.*; public class ToggleButton extends MovieClip { private var _selected:Boolean; public function ToggleButton(){ this.mouseChildren = false; this.buttonMode = true; this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); } private function onMouseOver(_arg1:MouseEvent):void{ showOverMode(); } public function set selected(_arg1:Boolean):void{ _selected = _arg1; } public function showOutMode():void{ if (!_selected){ this.gotoAndStop("up"); }; } private function onMouseOut(_arg1:MouseEvent):void{ if (!_selected){ showOutMode(); }; } public function showOverMode():void{ this.gotoAndStop("over"); } } }//package view
Section 100
//TopBar (view.TopBar) package view { import flash.events.*; import model.*; import flash.display.*; import flash.text.*; public class TopBar extends Sprite { private var _instructionBtn:InstructionsButtonReverse; public var gamarenaLink:SimpleButton; private var _model:ScarabGameModel; private var _soundButton:MovieClip; public var scoreTF:TextField; private var _score:Score; public var levelTF:TextField; private var _musicButton:MovieClip; public function TopBar(_arg1:ScarabGameModel){ _model = _arg1; _score = Score.getInstance(); _score.addEventListener("score", updateScore, false, 0, true); _model.addEventListener("newLevel", updateLevel, false, 0, true); } private function onMusicButtonClick(_arg1:MouseEvent):void{ if (_musicButton.currentFrame == 1){ ScarabSolitaireGame.MainGame.playingMusic = false; _musicButton.gotoAndStop("off"); MusicManager.getInstance().stopMusic(); } else { ScarabSolitaireGame.MainGame.playingMusic = true; _musicButton.gotoAndStop("on"); MusicManager.getInstance().startMusic(); }; } private function onGamarenaClick(_arg1:MouseEvent):void{ dispatchEvent(new Event(Consts.GAMARENACLICK)); } private function updateLevel(_arg1:TextEvent):void{ levelTF.text = _arg1.text; } private function updateScore(_arg1:TextEvent):void{ scoreTF.text = _arg1.text; } public function display():void{ var _local1:TopBarBackground; var _local2:TextFormat; var _local3:Font; _local1 = new TopBarBackground(); _local2 = new TextFormat(); _local3 = new MyriadPro(); _local2.color = 0xFFFFFF; _local2.font = _local3.fontName; _local2.size = 12; _local2.align = TextFormatAlign.RIGHT; _soundButton = new SoundButton(); _soundButton.x = 220; _soundButton.y = 18; _musicButton = new MusicButton(); _musicButton.x = 220; _musicButton.y = 1; _instructionBtn = new InstructionsButtonReverse(); _instructionBtn.buttonMode = true; _instructionBtn.text.mouseEnabled = false; _instructionBtn.text.selectable = false; _instructionBtn.icon.mouseEnabled = false; _instructionBtn.icon.selectable = false; _instructionBtn.x = 437; _instructionBtn.y = 5; scoreTF = _local1.scoreTF; gamarenaLink = _local1.gamarenaLink; levelTF = _local1.levelTF; this.addChild(_local1); this.addChild(_musicButton); this.addChild(_soundButton); this.addChild(_instructionBtn); _musicButton.addEventListener(MouseEvent.CLICK, onMusicButtonClick); _soundButton.addEventListener(MouseEvent.CLICK, onSoundButtonClick); _instructionBtn.addEventListener(MouseEvent.CLICK, onInstructionBtnClick); gamarenaLink.addEventListener(MouseEvent.CLICK, onGamarenaClick); checkSound(); } private function onInstructionBtnClick(_arg1:MouseEvent):void{ dispatchEvent(new Event(Consts.HOWTOPLAYCLICK)); } private function onSoundButtonClick(_arg1:MouseEvent):void{ if (_soundButton.currentFrame == 1){ ScarabSolitaireGame.MainGame.playingSound = false; _soundButton.gotoAndStop(2); } else { ScarabSolitaireGame.MainGame.playingSound = true; _soundButton.gotoAndStop(1); }; } private function checkSound():void{ if (ScarabSolitaireGame.MainGame.playingSound == false){ _soundButton.gotoAndStop("off"); }; if (ScarabSolitaireGame.MainGame.playingMusic == false){ _musicButton.gotoAndStop("off"); }; } } }//package view
Section 101
//Back0 (Back0) package { import flash.display.*; public dynamic class Back0 extends BitmapData { public function Back0(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 102
//Back1 (Back1) package { import flash.display.*; public dynamic class Back1 extends BitmapData { public function Back1(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 103
//Back2 (Back2) package { import flash.display.*; public dynamic class Back2 extends BitmapData { public function Back2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 104
//Back3 (Back3) package { import flash.display.*; public dynamic class Back3 extends BitmapData { public function Back3(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 105
//Back4 (Back4) package { import flash.display.*; public dynamic class Back4 extends BitmapData { public function Back4(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 106
//Back5 (Back5) package { import flash.display.*; public dynamic class Back5 extends BitmapData { public function Back5(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 107
//Back6 (Back6) package { import flash.display.*; public dynamic class Back6 extends BitmapData { public function Back6(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 108
//Back7 (Back7) package { import flash.display.*; public dynamic class Back7 extends BitmapData { public function Back7(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 109
//Back8 (Back8) package { import flash.display.*; public dynamic class Back8 extends BitmapData { public function Back8(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 110
//Back9 (Back9) package { import flash.display.*; public dynamic class Back9 extends BitmapData { public function Back9(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 111
//Background (Background) package { import flash.display.*; public dynamic class Background extends BitmapData { public function Background(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 112
//BasicsBtn (BasicsBtn) package { import view.*; public dynamic class BasicsBtn extends ToggleButton { public function BasicsBtn(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 113
//Bonus1 (Bonus1) package { import flash.display.*; public dynamic class Bonus1 extends BitmapData { public function Bonus1(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 114
//Bonus2 (Bonus2) package { import flash.display.*; public dynamic class Bonus2 extends BitmapData { public function Bonus2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 115
//Bonus3 (Bonus3) package { import flash.display.*; public dynamic class Bonus3 extends BitmapData { public function Bonus3(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 116
//C1 (C1) package { import flash.display.*; public dynamic class C1 extends BitmapData { public function C1(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 117
//C10 (C10) package { import flash.display.*; public dynamic class C10 extends BitmapData { public function C10(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 118
//C11 (C11) package { import flash.display.*; public dynamic class C11 extends BitmapData { public function C11(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 119
//C12 (C12) package { import flash.display.*; public dynamic class C12 extends BitmapData { public function C12(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 120
//C13 (C13) package { import flash.display.*; public dynamic class C13 extends BitmapData { public function C13(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 121
//C2 (C2) package { import flash.display.*; public dynamic class C2 extends BitmapData { public function C2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 122
//C3 (C3) package { import flash.display.*; public dynamic class C3 extends BitmapData { public function C3(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 123
//C4 (C4) package { import flash.display.*; public dynamic class C4 extends BitmapData { public function C4(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 124
//C5 (C5) package { import flash.display.*; public dynamic class C5 extends BitmapData { public function C5(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 125
//C6 (C6) package { import flash.display.*; public dynamic class C6 extends BitmapData { public function C6(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 126
//C7 (C7) package { import flash.display.*; public dynamic class C7 extends BitmapData { public function C7(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 127
//C8 (C8) package { import flash.display.*; public dynamic class C8 extends BitmapData { public function C8(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 128
//C9 (C9) package { import flash.display.*; public dynamic class C9 extends BitmapData { public function C9(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 129
//CloseBtn (CloseBtn) package { import view.*; public dynamic class CloseBtn extends SmallButton { } }//package
Section 130
//D1 (D1) package { import flash.display.*; public dynamic class D1 extends BitmapData { public function D1(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 131
//D10 (D10) package { import flash.display.*; public dynamic class D10 extends BitmapData { public function D10(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 132
//D11 (D11) package { import flash.display.*; public dynamic class D11 extends BitmapData { public function D11(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 133
//D12 (D12) package { import flash.display.*; public dynamic class D12 extends BitmapData { public function D12(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 134
//D13 (D13) package { import flash.display.*; public dynamic class D13 extends BitmapData { public function D13(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 135
//D2 (D2) package { import flash.display.*; public dynamic class D2 extends BitmapData { public function D2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 136
//D3 (D3) package { import flash.display.*; public dynamic class D3 extends BitmapData { public function D3(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 137
//D4 (D4) package { import flash.display.*; public dynamic class D4 extends BitmapData { public function D4(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 138
//D5 (D5) package { import flash.display.*; public dynamic class D5 extends BitmapData { public function D5(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 139
//D6 (D6) package { import flash.display.*; public dynamic class D6 extends BitmapData { public function D6(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 140
//D7 (D7) package { import flash.display.*; public dynamic class D7 extends BitmapData { public function D7(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 141
//D8 (D8) package { import flash.display.*; public dynamic class D8 extends BitmapData { public function D8(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 142
//D9 (D9) package { import flash.display.*; public dynamic class D9 extends BitmapData { public function D9(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 143
//DeckDrag (DeckDrag) package { import flash.media.*; public dynamic class DeckDrag extends Sound { } }//package
Section 144
//DrumDrum (DrumDrum) package { import flash.media.*; public dynamic class DrumDrum extends Sound { } }//package
Section 145
//EnkelGiv1 (EnkelGiv1) package { import flash.media.*; public dynamic class EnkelGiv1 extends Sound { } }//package
Section 146
//EnkelGiv2 (EnkelGiv2) package { import flash.media.*; public dynamic class EnkelGiv2 extends Sound { } }//package
Section 147
//GameOverWindowLevel1 (GameOverWindowLevel1) package { import flash.display.*; public dynamic class GameOverWindowLevel1 extends MovieClip { } }//package
Section 148
//GameOverWindowLevel2 (GameOverWindowLevel2) package { import flash.display.*; public dynamic class GameOverWindowLevel2 extends MovieClip { } }//package
Section 149
//GameOverWindowLevel3 (GameOverWindowLevel3) package { import flash.display.*; public dynamic class GameOverWindowLevel3 extends MovieClip { } }//package
Section 150
//GameOverWindowLevel4 (GameOverWindowLevel4) package { import flash.display.*; public dynamic class GameOverWindowLevel4 extends MovieClip { } }//package
Section 151
//GameOverWindowLevel5 (GameOverWindowLevel5) package { import flash.display.*; public dynamic class GameOverWindowLevel5 extends MovieClip { } }//package
Section 152
//Glow (Glow) package { import flash.display.*; public dynamic class Glow extends BitmapData { public function Glow(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 153
//GreenBackground (GreenBackground) package { import flash.display.*; public dynamic class GreenBackground extends Sprite { } }//package
Section 154
//H1 (H1) package { import flash.display.*; public dynamic class H1 extends BitmapData { public function H1(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 155
//H10 (H10) package { import flash.display.*; public dynamic class H10 extends BitmapData { public function H10(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 156
//H11 (H11) package { import flash.display.*; public dynamic class H11 extends BitmapData { public function H11(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 157
//H12 (H12) package { import flash.display.*; public dynamic class H12 extends BitmapData { public function H12(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 158
//H13 (H13) package { import flash.display.*; public dynamic class H13 extends BitmapData { public function H13(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 159
//H2 (H2) package { import flash.display.*; public dynamic class H2 extends BitmapData { public function H2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 160
//H3 (H3) package { import flash.display.*; public dynamic class H3 extends BitmapData { public function H3(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 161
//H4 (H4) package { import flash.display.*; public dynamic class H4 extends BitmapData { public function H4(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 162
//H5 (H5) package { import flash.display.*; public dynamic class H5 extends BitmapData { public function H5(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 163
//H6 (H6) package { import flash.display.*; public dynamic class H6 extends BitmapData { public function H6(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 164
//H7 (H7) package { import flash.display.*; public dynamic class H7 extends BitmapData { public function H7(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 165
//H8 (H8) package { import flash.display.*; public dynamic class H8 extends BitmapData { public function H8(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 166
//H9 (H9) package { import flash.display.*; public dynamic class H9 extends BitmapData { public function H9(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 167
//InstructionBtn (InstructionBtn) package { import view.*; public dynamic class InstructionBtn extends SmallButton { } }//package
Section 168
//KaraBenNemsi (KaraBenNemsi) package { import flash.text.*; public dynamic class KaraBenNemsi extends Font { } }//package
Section 169
//LoadingText (LoadingText) package { import flash.display.*; public dynamic class LoadingText extends MovieClip { } }//package
Section 170
//MochiBot (MochiBot) package { import flash.display.*; import flash.net.*; import flash.system.*; public dynamic class MochiBot extends Sprite { public static function track(_arg1:Sprite, _arg2:String):MochiBot{ var _local3:MochiBot; var _local4:String; var _local5:URLVariables; var _local6:String; var _local7:URLRequest; var _local8:Loader; if (Security.sandboxType == "localWithFile"){ return (null); }; _local3 = new (MochiBot); _arg1.addChild(_local3); Security.allowDomain("*"); Security.allowInsecureDomain("*"); _local4 = "http://core.mochibot.com/my/core.swf"; _local5 = new URLVariables(); _local5["sb"] = Security.sandboxType; _local5["v"] = Capabilities.version; _local5["swfid"] = _arg2; _local5["mv"] = "8"; _local5["fv"] = "9"; _local6 = _local3.root.loaderInfo.loaderURL; if (_local6.indexOf("http") == 0){ _local5["url"] = _local6; } else { _local5["url"] = "local"; }; _local7 = new URLRequest(_local4); _local7.contentType = "application/x-www-form-urlencoded"; _local7.method = URLRequestMethod.POST; _local7.data = _local5; _local8 = new Loader(); _local3.addChild(_local8); _local8.load(_local7); return (_local3); } } }//package
Section 171
//MouseBitmap (MouseBitmap) package { import flash.display.*; public dynamic class MouseBitmap extends BitmapData { public function MouseBitmap(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 172
//MusicButton (MusicButton) package { import flash.display.*; public dynamic class MusicButton extends MovieClip { public function MusicButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 173
//MusicLoop (MusicLoop) package { import flash.media.*; public dynamic class MusicLoop extends Sound { } }//package
Section 174
//MyriadPro (MyriadPro) package { import flash.text.*; public dynamic class MyriadPro extends Font { } }//package
Section 175
//NimbusSans (NimbusSans) package { import flash.text.*; public dynamic class NimbusSans extends Font { } }//package
Section 176
//PlayAgainBtn (PlayAgainBtn) package { import view.*; public dynamic class PlayAgainBtn extends SmallButton { } }//package
Section 177
//PlayButton (PlayButton) package { import view.*; public dynamic class PlayButton extends LoadingButton { } }//package
Section 178
//S1 (S1) package { import flash.display.*; public dynamic class S1 extends BitmapData { public function S1(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 179
//S10 (S10) package { import flash.display.*; public dynamic class S10 extends BitmapData { public function S10(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 180
//S11 (S11) package { import flash.display.*; public dynamic class S11 extends BitmapData { public function S11(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 181
//S12 (S12) package { import flash.display.*; public dynamic class S12 extends BitmapData { public function S12(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 182
//S13 (S13) package { import flash.display.*; public dynamic class S13 extends BitmapData { public function S13(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 183
//S2 (S2) package { import flash.display.*; public dynamic class S2 extends BitmapData { public function S2(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 184
//S3 (S3) package { import flash.display.*; public dynamic class S3 extends BitmapData { public function S3(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 185
//S4 (S4) package { import flash.display.*; public dynamic class S4 extends BitmapData { public function S4(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 186
//S5 (S5) package { import flash.display.*; public dynamic class S5 extends BitmapData { public function S5(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 187
//S6 (S6) package { import flash.display.*; public dynamic class S6 extends BitmapData { public function S6(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 188
//S7 (S7) package { import flash.display.*; public dynamic class S7 extends BitmapData { public function S7(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 189
//S8 (S8) package { import flash.display.*; public dynamic class S8 extends BitmapData { public function S8(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 190
//S9 (S9) package { import flash.display.*; public dynamic class S9 extends BitmapData { public function S9(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 191
//ScarabBack (ScarabBack) package { import flash.display.*; public dynamic class ScarabBack extends BitmapData { public function ScarabBack(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 192
//ScarabBody (ScarabBody) package { import flash.display.*; public dynamic class ScarabBody extends BitmapData { public function ScarabBody(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 193
//ScarabCardReveal (ScarabCardReveal) package { import flash.media.*; public dynamic class ScarabCardReveal extends Sound { } }//package
Section 194
//ScarabPearl (ScarabPearl) package { import flash.display.*; public dynamic class ScarabPearl extends BitmapData { public function ScarabPearl(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 195
//ScarabSolitaireGame (ScarabSolitaireGame) package { import controller.*; import model.*; import flash.display.*; import loadedSwf.*; import flash.net.*; public class ScarabSolitaireGame extends MovieClip implements IGame { private var _scarabGameController:ScarabGameController; private var _playingMusic:Boolean;// = true private var _so:SharedObject; private var _playingSound:Boolean;// = true private var _bestScore:int;// = 0 private var _scarabGameModel:ScarabGameModel; public static var MainGame:ScarabSolitaireGame; public function ScarabSolitaireGame(){ var _local1:Object; _playingSound = true; _playingMusic = true; _bestScore = 0; super(); addFrameScript(0, frame1); stage.scaleMode = StageScaleMode.NO_SCALE; _local1 = LoaderInfo(this.root.loaderInfo).parameters; MainGame = this; _so = SharedObject.getLocal("SSSO"); if (_so.data.playingSound == undefined){ _so.data.playingSound = _playingSound; _so.flush(); } else { _playingSound = _so.data.playingSound; }; if (_so.data.playingMusic == undefined){ _so.data.playingMusic = _playingMusic; _so.flush(); } else { _playingMusic = _so.data.playingMusic; }; if (_so.data.bestScore == undefined){ _so.data.bestScore = _bestScore; _so.flush(); } else { _bestScore = _so.data.bestScore; }; init(); } public function pause():void{ _scarabGameController.pauseGame(); } public function set playingSound(_arg1:Boolean):void{ _playingSound = _arg1; _so.data.playingSound = _playingSound; _so.flush(); } private function init():void{ _scarabGameModel = new ScarabGameModel(); _scarabGameController = new ScarabGameController(_scarabGameModel); } public function set bestScore(_arg1:int):void{ _bestScore = _arg1; _so.data.playingMusic = _bestScore; _so.flush(); } public function set playingMusic(_arg1:Boolean):void{ _playingMusic = _arg1; _so.data.playingMusic = _playingMusic; _so.flush(); } public function get bestScore():int{ return (_bestScore); } public function resume():void{ _scarabGameController.resumeGame(); } public function start():void{ _scarabGameController.startGame(); } function frame1(){ MochiBot.track(this, "c30cf280"); } public function get playingSound():Boolean{ return (_playingSound); } public function gameCompleted(_arg1:int, _arg2:int):void{ } public function set externalController(_arg1:IGameController):void{ } public function get playingMusic():Boolean{ return (_playingMusic); } public function instructionBtnClick():void{ } public function playAgain():void{ _scarabGameModel = new ScarabGameModel(); _scarabGameController = new ScarabGameController(_scarabGameModel); } } }//package
Section 196
//ScarabWings (ScarabWings) package { import flash.display.*; public dynamic class ScarabWings extends BitmapData { public function ScarabWings(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 197
//ScoreBackground (ScoreBackground) package { import flash.display.*; public dynamic class ScoreBackground extends MovieClip { } }//package
Section 198
//ScoringBtn (ScoringBtn) package { import view.*; public dynamic class ScoringBtn extends ToggleButton { public function ScoringBtn(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 199
//SoundButton (SoundButton) package { import flash.display.*; public dynamic class SoundButton extends MovieClip { public function SoundButton(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 200
//Spark1 (Spark1) package { import flash.display.*; public dynamic class Spark1 extends MovieClip { } }//package
Section 201
//Spark2 (Spark2) package { import flash.display.*; public dynamic class Spark2 extends MovieClip { } }//package
Section 202
//SplashBackground (SplashBackground) package { import flash.display.*; public dynamic class SplashBackground extends BitmapData { public function SplashBackground(_arg1:Number, _arg2:Number){ super(_arg1, _arg2); } } }//package
Section 203
//SplashDropShadow (SplashDropShadow) package { import flash.display.*; public dynamic class SplashDropShadow extends Sprite { } }//package
Section 204
//Swosh1 (Swosh1) package { import flash.media.*; public dynamic class Swosh1 extends Sound { } }//package
Section 205
//Swosh2 (Swosh2) package { import flash.media.*; public dynamic class Swosh2 extends Sound { } }//package
Section 206
//Swosh3 (Swosh3) package { import flash.media.*; public dynamic class Swosh3 extends Sound { } }//package
Section 207
//Tack (Tack) package { import flash.media.*; public dynamic class Tack extends Sound { } }//package
Section 208
//Tick (Tick) package { import flash.media.*; public dynamic class Tick extends Sound { } }//package
Section 209
//TopBarBackground (TopBarBackground) package { import flash.display.*; import flash.text.*; public dynamic class TopBarBackground extends Sprite { public var gamarenaLink:SimpleButton; public var scoreTF:TextField; public var levelTF:TextField; } }//package
Section 210
//TryMoreGamesButton (TryMoreGamesButton) package { import view.*; public dynamic class TryMoreGamesButton extends SmallButton { } }//package

Library Items

Symbol 1 Font {KaraBenNemsi}
Symbol 2 Font {NimbusSans}Used by:147 148 149 150 151 216 236 258 259
Symbol 3 Font {MyriadPro}Used by:172 173 174 175 182 183 213 214 215 234 256 257
Symbol 4 Sound {Tick}
Symbol 5 Sound {Tack}
Symbol 6 Sound {Swosh3}
Symbol 7 Sound {Swosh2}
Symbol 8 Sound {Swosh1}
Symbol 9 Sound {ScarabCardReveal}
Symbol 10 Sound {MusicLoop}
Symbol 11 Sound {EnkelGiv2}
Symbol 12 Sound {EnkelGiv1}
Symbol 13 Sound {DrumDrum}
Symbol 14 Sound {DeckDrag}
Symbol 15 Bitmap {ScarabWings}
Symbol 16 Bitmap {ScarabPearl}
Symbol 17 Bitmap {ScarabBody}
Symbol 18 Bitmap {ScarabBack}
Symbol 19 Bitmap {S9}
Symbol 20 Bitmap {S8}
Symbol 21 Bitmap {S7}
Symbol 22 Bitmap {S6}
Symbol 23 Bitmap {S5}
Symbol 24 Bitmap {S4}
Symbol 25 Bitmap {S3}
Symbol 26 Bitmap {S2}
Symbol 27 Bitmap {S13}
Symbol 28 Bitmap {S12}
Symbol 29 Bitmap {S11}
Symbol 30 Bitmap {S10}
Symbol 31 Bitmap {S1}
Symbol 32 Bitmap {H9}
Symbol 33 Bitmap {H8}
Symbol 34 Bitmap {H7}
Symbol 35 Bitmap {H6}
Symbol 36 Bitmap {H5}
Symbol 37 Bitmap {H4}
Symbol 38 Bitmap {H3}
Symbol 39 Bitmap {H2}
Symbol 40 Bitmap {H13}
Symbol 41 Bitmap {H12}
Symbol 42 Bitmap {H11}
Symbol 43 Bitmap {H10}
Symbol 44 Bitmap {H1}
Symbol 45 Bitmap {Glow}
Symbol 46 Bitmap {D9}
Symbol 47 Bitmap {D8}
Symbol 48 Bitmap {D7}
Symbol 49 Bitmap {D6}
Symbol 50 Bitmap {D5}
Symbol 51 Bitmap {D4}
Symbol 52 Bitmap {D3}
Symbol 53 Bitmap {D2}
Symbol 54 Bitmap {D13}
Symbol 55 Bitmap {D12}
Symbol 56 Bitmap {D11}
Symbol 57 Bitmap {D10}
Symbol 58 Bitmap {D1}
Symbol 59 Bitmap {clock9.png}
Symbol 60 Bitmap {clock8.png}
Symbol 61 Bitmap {clock7.png}
Symbol 62 Bitmap {clock60.png}
Symbol 63 Bitmap {clock6.png}
Symbol 64 Bitmap {clock59.png}
Symbol 65 Bitmap {clock58.png}
Symbol 66 Bitmap {clock57.png}
Symbol 67 Bitmap {clock56.png}
Symbol 68 Bitmap {clock55.png}
Symbol 69 Bitmap {clock54.png}
Symbol 70 Bitmap {clock53.png}
Symbol 71 Bitmap {clock52.png}
Symbol 72 Bitmap {clock51.png}
Symbol 73 Bitmap {clock50.png}
Symbol 74 Bitmap {clock5.png}
Symbol 75 Bitmap {clock49.png}
Symbol 76 Bitmap {clock48.png}
Symbol 77 Bitmap {clock47.png}
Symbol 78 Bitmap {clock46.png}
Symbol 79 Bitmap {clock45.png}
Symbol 80 Bitmap {clock44.png}
Symbol 81 Bitmap {clock43.png}
Symbol 82 Bitmap {clock42.png}
Symbol 83 Bitmap {clock41.png}
Symbol 84 Bitmap {clock40.png}
Symbol 85 Bitmap {clock4.png}
Symbol 86 Bitmap {clock39.png}
Symbol 87 Bitmap {clock38.png}
Symbol 88 Bitmap {clock37.png}
Symbol 89 Bitmap {clock36.png}
Symbol 90 Bitmap {clock35.png}
Symbol 91 Bitmap {clock34.png}
Symbol 92 Bitmap {clock33.png}
Symbol 93 Bitmap {clock32.png}
Symbol 94 Bitmap {clock31.png}
Symbol 95 Bitmap {clock30.png}
Symbol 96 Bitmap {clock3.png}
Symbol 97 Bitmap {clock29.png}
Symbol 98 Bitmap {clock28.png}
Symbol 99 Bitmap {clock27.png}
Symbol 100 Bitmap {clock26.png}
Symbol 101 Bitmap {clock25.png}
Symbol 102 Bitmap {clock24.png}
Symbol 103 Bitmap {clock23.png}
Symbol 104 Bitmap {clock22.png}
Symbol 105 Bitmap {clock21.png}
Symbol 106 Bitmap {clock20.png}
Symbol 107 Bitmap {clock2.png}
Symbol 108 Bitmap {clock19.png}
Symbol 109 Bitmap {clock18.png}
Symbol 110 Bitmap {clock17.png}
Symbol 111 Bitmap {clock16.png}
Symbol 112 Bitmap {clock15.png}
Symbol 113 Bitmap {clock14.png}
Symbol 114 Bitmap {clock13.png}
Symbol 115 Bitmap {clock12.png}
Symbol 116 Bitmap {clock11.png}
Symbol 117 Bitmap {clock10.png}
Symbol 118 Bitmap {clock1.png}
Symbol 119 Bitmap {C9}
Symbol 120 Bitmap {C8}
Symbol 121 Bitmap {C7}
Symbol 122 Bitmap {C6}
Symbol 123 Bitmap {C5}
Symbol 124 Bitmap {C4}
Symbol 125 Bitmap {C3}
Symbol 126 Bitmap {C2}
Symbol 127 Bitmap {C13}
Symbol 128 Bitmap {C12}
Symbol 129 Bitmap {C11}
Symbol 130 Bitmap {C10}
Symbol 131 Bitmap {C1}
Symbol 132 Bitmap {Bonus3}
Symbol 133 Bitmap {Bonus2}
Symbol 134 Bitmap {Bonus1}
Symbol 135 Bitmap {Background}
Symbol 136 Bitmap {Back9}
Symbol 137 Bitmap {Back8}
Symbol 138 Bitmap {Back7}
Symbol 139 Bitmap {Back6}
Symbol 140 Bitmap {Back5}
Symbol 141 Bitmap {Back4}
Symbol 142 Bitmap {Back3}
Symbol 143 Bitmap {Back2}
Symbol 144 Bitmap {Back1}
Symbol 145 Bitmap {Back0}
Symbol 146 GraphicUsed by:171
Symbol 147 EditableTextUses:2Used by:171
Symbol 148 EditableTextUses:2Used by:171
Symbol 149 EditableTextUses:2Used by:171
Symbol 150 EditableTextUses:2Used by:171
Symbol 151 EditableTextUses:2Used by:171
Symbol 152 FontUsed by:153 159 163 164 172 173 174 175 182 183 189 194 195 202 203 213 214 215 217 218 219 221 222 223 227 228 234
Symbol 153 EditableTextUses:152Used by:171
Symbol 154 GraphicUsed by:155
Symbol 155 MovieClipUses:154Used by:161 162 192 196 204 229
Symbol 156 GraphicUsed by:157 193 226
Symbol 157 MovieClipUses:156Used by:161 162
Symbol 158 GraphicUsed by:161 187
Symbol 159 EditableTextUses:152Used by:161
Symbol 160 GraphicUsed by:161 165 181 192 196 204 229 260
Symbol 161 MovieClip {PlayAgainBtn}Uses:155 157 158 159 160Used by:171
Symbol 162 MovieClipUses:155 157Used by:165
Symbol 163 EditableTextUses:152Used by:165
Symbol 164 EditableTextUses:152Used by:165
Symbol 165 MovieClip {TryMoreGamesButton}Uses:162 163 164 160Used by:171
Symbol 166 GraphicUsed by:167
Symbol 167 MovieClipUses:166Used by:171
Symbol 168 GraphicUsed by:171
Symbol 169 GraphicUsed by:170 200 231 242
Symbol 170 MovieClipUses:169Used by:171
Symbol 171 MovieClip {view.Profile}Uses:146 147 148 149 150 151 153 161 165 167 168 170
Symbol 172 EditableTextUses:3 152Used by:176
Symbol 173 EditableTextUses:3 152Used by:176
Symbol 174 EditableTextUses:3 152Used by:176
Symbol 175 EditableTextUses:3 152Used by:176
Symbol 176 MovieClip {LoadingText}Uses:172 173 174 175
Symbol 177 Bitmap {MouseBitmap}Used by:201
Symbol 178 Bitmap {SplashBackground}Used by:201
Symbol 179 GraphicUsed by:201
Symbol 180 GraphicUsed by:181
Symbol 181 MovieClipUses:160 180Used by:201
Symbol 182 EditableTextUses:3 152Used by:201
Symbol 183 EditableTextUses:3 152Used by:201
Symbol 184 GraphicUsed by:185
Symbol 185 MovieClipUses:184Used by:192
Symbol 186 GraphicUsed by:188
Symbol 187 MovieClipUses:158Used by:188
Symbol 188 MovieClip {view.ButtonArrowAnimation}Uses:186 187Used by:192
Symbol 189 EditableTextUses:152Used by:192
Symbol 190 GraphicUsed by:191
Symbol 191 MovieClipUses:190Used by:192
Symbol 192 MovieClip {PlayButton}Uses:155 185 188 189 160 191Used by:201
Symbol 193 MovieClipUses:156Used by:196 204
Symbol 194 EditableTextUses:152Used by:196
Symbol 195 EditableTextUses:152Used by:196
Symbol 196 MovieClip {InstructionBtn}Uses:155 193 194 195 160Used by:201
Symbol 197 GraphicUsed by:198
Symbol 198 MovieClipUses:197Used by:201
Symbol 199 GraphicUsed by:201
Symbol 200 MovieClipUses:169Used by:201
Symbol 201 MovieClip {view.Splash}Uses:178 179 181 177 182 183 192 196 198 199 200
Symbol 202 EditableTextUses:152Used by:204
Symbol 203 EditableTextUses:152Used by:204
Symbol 204 MovieClip {view.InstructionsButtonReverse}Uses:155 193 202 203 160
Symbol 205 GraphicUsed by:206
Symbol 206 MovieClipUses:205Used by:207
Symbol 207 MovieClip {SplashDropShadow}Uses:206
Symbol 208 GraphicUsed by:235
Symbol 209 GraphicUsed by:235
Symbol 210 BitmapUsed by:211
Symbol 211 GraphicUses:210Used by:212
Symbol 212 MovieClipUses:211Used by:235
Symbol 213 EditableTextUses:3 152Used by:235
Symbol 214 EditableTextUses:3 152Used by:235
Symbol 215 EditableTextUses:3 152Used by:235
Symbol 216 EditableTextUses:2Used by:235
Symbol 217 EditableTextUses:152Used by:220
Symbol 218 EditableTextUses:152Used by:220
Symbol 219 EditableTextUses:152Used by:220
Symbol 220 MovieClip {BasicsBtn}Uses:217 218 219Used by:235
Symbol 221 EditableTextUses:152Used by:224
Symbol 222 EditableTextUses:152Used by:224
Symbol 223 EditableTextUses:152Used by:224
Symbol 224 MovieClip {ScoringBtn}Uses:221 222 223Used by:235
Symbol 225 MovieClipUsed by:229
Symbol 226 MovieClipUses:156Used by:229
Symbol 227 EditableTextUses:152Used by:229
Symbol 228 EditableTextUses:152Used by:229
Symbol 229 MovieClip {CloseBtn}Uses:225 155 226 227 228 160Used by:235
Symbol 230 GraphicUsed by:235
Symbol 231 MovieClipUses:169Used by:235
Symbol 232 GraphicUsed by:233
Symbol 233 MovieClipUses:232Used by:235
Symbol 234 EditableTextUses:3 152Used by:235
Symbol 235 MovieClip {view.HowToPlayWindow}Uses:208 209 212 213 214 215 216 220 224 229 230 231 233 234
Symbol 236 EditableTextUses:2Used by:237
Symbol 237 MovieClipUses:236Used by:238
Symbol 238 MovieClip {view.NoMoreMovesTween}Uses:237
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClip {GreenBackground}Uses:239
Symbol 241 GraphicUsed by:243
Symbol 242 MovieClipUses:169Used by:243 245 247 249 251 253
Symbol 243 MovieClip {GameOverWindowLevel2}Uses:241 242
Symbol 244 GraphicUsed by:245
Symbol 245 MovieClip {GameOverWindowLevel3}Uses:244 242
Symbol 246 GraphicUsed by:247
Symbol 247 MovieClip {GameOverWindowLevel4}Uses:246 242
Symbol 248 GraphicUsed by:249
Symbol 249 MovieClip {GameOverWindowLevel5}Uses:248 242
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClip {GameOverWindowLevel1}Uses:250 242
Symbol 252 GraphicUsed by:253
Symbol 253 MovieClip {ScoreBackground}Uses:252 242
Symbol 254 BitmapUsed by:255
Symbol 255 GraphicUses:254Used by:261
Symbol 256 EditableTextUses:3Used by:261
Symbol 257 EditableTextUses:3Used by:261
Symbol 258 EditableTextUses:2Used by:261
Symbol 259 EditableTextUses:2Used by:261
Symbol 260 ButtonUses:160Used by:261
Symbol 261 MovieClip {TopBarBackground}Uses:255 256 257 258 259 260
Symbol 262 BitmapUsed by:263
Symbol 263 GraphicUses:262Used by:274
Symbol 264 BitmapUsed by:265
Symbol 265 GraphicUses:264Used by:274
Symbol 266 BitmapUsed by:267
Symbol 267 GraphicUses:266Used by:274
Symbol 268 BitmapUsed by:269
Symbol 269 GraphicUses:268Used by:274
Symbol 270 BitmapUsed by:271
Symbol 271 GraphicUses:270Used by:274
Symbol 272 BitmapUsed by:273
Symbol 273 GraphicUses:272Used by:274
Symbol 274 MovieClip {Spark1}Uses:263 265 267 269 271 273
Symbol 275 BitmapUsed by:276
Symbol 276 GraphicUses:275Used by:287
Symbol 277 BitmapUsed by:278
Symbol 278 GraphicUses:277Used by:287
Symbol 279 BitmapUsed by:280
Symbol 280 GraphicUses:279Used by:287
Symbol 281 BitmapUsed by:282
Symbol 282 GraphicUses:281Used by:287
Symbol 283 BitmapUsed by:284
Symbol 284 GraphicUses:283Used by:287
Symbol 285 BitmapUsed by:286
Symbol 286 GraphicUses:285Used by:287
Symbol 287 MovieClip {Spark2}Uses:276 278 280 282 284 286
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288Used by:292
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:292
Symbol 292 MovieClip {SoundButton}Uses:289 291
Symbol 293 BitmapUsed by:294
Symbol 294 GraphicUses:293Used by:297
Symbol 295 BitmapUsed by:296
Symbol 296 GraphicUses:295Used by:297
Symbol 297 MovieClip {MusicButton}Uses:294 296

Instance Names

"text"Symbol 161 MovieClip {PlayAgainBtn} Frame 1Symbol 159 EditableText
"text"Symbol 165 MovieClip {TryMoreGamesButton} Frame 1Symbol 164 EditableText
"scoreTF"Symbol 171 MovieClip {view.Profile} Frame 1Symbol 147 EditableText
"bestScoreTF"Symbol 171 MovieClip {view.Profile} Frame 1Symbol 148 EditableText
"scoreHeader"Symbol 171 MovieClip {view.Profile} Frame 1Symbol 150 EditableText
"bestScore"Symbol 171 MovieClip {view.Profile} Frame 1Symbol 151 EditableText
"motivationTF"Symbol 171 MovieClip {view.Profile} Frame 1Symbol 153 EditableText
"playAgainBtn"Symbol 171 MovieClip {view.Profile} Frame 1Symbol 161 MovieClip {PlayAgainBtn}
"tryMoreGamesButton"Symbol 171 MovieClip {view.Profile} Frame 1Symbol 165 MovieClip {TryMoreGamesButton}
"animation"Symbol 192 MovieClip {PlayButton} Frame 1Symbol 188 MovieClip {view.ButtonArrowAnimation}
"text"Symbol 192 MovieClip {PlayButton} Frame 1Symbol 189 EditableText
"icon"Symbol 196 MovieClip {InstructionBtn} Frame 1Symbol 194 EditableText
"text"Symbol 196 MovieClip {InstructionBtn} Frame 1Symbol 195 EditableText
"logoMC"Symbol 201 MovieClip {view.Splash} Frame 1Symbol 181 MovieClip
"playBtn"Symbol 201 MovieClip {view.Splash} Frame 1Symbol 192 MovieClip {PlayButton}
"howToPlayBtn"Symbol 201 MovieClip {view.Splash} Frame 1Symbol 196 MovieClip {InstructionBtn}
"icon"Symbol 204 MovieClip {view.InstructionsButtonReverse} Frame 1Symbol 202 EditableText
"text"Symbol 204 MovieClip {view.InstructionsButtonReverse} Frame 1Symbol 203 EditableText
"txt"Symbol 220 MovieClip {BasicsBtn} Frame 1Symbol 217 EditableText
"txt"Symbol 220 MovieClip {BasicsBtn} Frame 2Symbol 218 EditableText
"txt"Symbol 220 MovieClip {BasicsBtn} Frame 3Symbol 219 EditableText
"txt"Symbol 224 MovieClip {ScoringBtn} Frame 1Symbol 221 EditableText
"txt"Symbol 224 MovieClip {ScoringBtn} Frame 2Symbol 222 EditableText
"txt"Symbol 224 MovieClip {ScoringBtn} Frame 3Symbol 223 EditableText
"text"Symbol 229 MovieClip {CloseBtn} Frame 1Symbol 228 EditableText
"basicsBtn"Symbol 235 MovieClip {view.HowToPlayWindow} Frame 1Symbol 220 MovieClip {BasicsBtn}
"scoringBtn"Symbol 235 MovieClip {view.HowToPlayWindow} Frame 1Symbol 224 MovieClip {ScoringBtn}
"backBtn"Symbol 235 MovieClip {view.HowToPlayWindow} Frame 1Symbol 229 MovieClip {CloseBtn}
"scoreTF"Symbol 261 MovieClip {TopBarBackground} Frame 1Symbol 256 EditableText
"levelTF"Symbol 261 MovieClip {TopBarBackground} Frame 1Symbol 257 EditableText
"gamarenaLink"Symbol 261 MovieClip {TopBarBackground} Frame 1Symbol 260 Button

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""

Labels

"enabled"Symbol 192 MovieClip {PlayButton} Frame 1
"disabled"Symbol 192 MovieClip {PlayButton} Frame 2
"up"Symbol 220 MovieClip {BasicsBtn} Frame 1
"over"Symbol 220 MovieClip {BasicsBtn} Frame 2
"selected"Symbol 220 MovieClip {BasicsBtn} Frame 3
"up"Symbol 224 MovieClip {ScoringBtn} Frame 1
"over"Symbol 224 MovieClip {ScoringBtn} Frame 2
"selected"Symbol 224 MovieClip {ScoringBtn} Frame 3
"on"Symbol 292 MovieClip {SoundButton} Frame 1
"off"Symbol 292 MovieClip {SoundButton} Frame 2
"on"Symbol 297 MovieClip {MusicButton} Frame 1
"off"Symbol 297 MovieClip {MusicButton} Frame 2




http://swfchan.com/14/66243/info.shtml
Created: 12/4 -2019 04:20:56 Last modified: 12/4 -2019 04:20:56 Server time: 15/05 -2024 19:15:52