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

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

Mahjongg.swf

This is the info page for
Flash #144291

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


Text
You have no more moves.
Game Over

You Win!
Congratulations!

Restart

Hint

99999

Time

Score

00

00

:

Please select the tile set:

Classic

Simple

START

INSTRUCTIONS

Remove tiles by matching them in pairs.
You can only match tiles that are not
blocked by other tiles from the left, right
or top.

Play Again (with new tiles)

Home

Play Again (with same tiles)


ActionScript [AS3]

Section 1
//Game (com.novelgames.flashgames.common.Game) package com.novelgames.flashgames.common { import flash.display.*; public class Game extends MovieClip { public static var gameStage:Stage; public function unpause():void{ NewTimer.unpause(); } public function pause():void{ NewTimer.pause(); } } }//package com.novelgames.flashgames.common
Section 2
//Instructions (com.novelgames.flashgames.common.Instructions) package com.novelgames.flashgames.common { import flash.events.*; import flash.display.*; public class Instructions extends MovieClip { public var startButton:SimpleButton; private var shownFromGame:Boolean; public function Instructions(_arg1:Boolean=false){ this.shownFromGame = _arg1; startButton.addEventListener(MouseEvent.CLICK, startButtonClicked); } private function startButtonClicked(_arg1:MouseEvent):void{ if (!shownFromGame){ Object(parent).gotoGamePage(); } else { Object(parent).hideInstructionsFromGame(); }; } } }//package com.novelgames.flashgames.common
Section 3
//InstructionsButton (com.novelgames.flashgames.common.InstructionsButton) package com.novelgames.flashgames.common { import flash.events.*; import flash.display.*; public class InstructionsButton extends MovieClip { public function InstructionsButton(){ super(); this.buttonMode = true; this.addEventListener(MouseEvent.CLICK, function ():void{ Object(parent.parent).showInstructionsFromGame(); }); } } }//package com.novelgames.flashgames.common
Section 4
//MainDevelopment (com.novelgames.flashgames.common.MainDevelopment) package com.novelgames.flashgames.common { import flash.events.*; import flash.media.*; import flash.display.*; public class MainDevelopment extends MovieClip { private var title:Title; private var musicGameSoundChannel:SoundChannel; private var titleIndex:int; private var instructions:Instructions; private var musicGame:Sound; private var game:Game; public function MainDevelopment(){ this.addEventListener(Event.ENTER_FRAME, checkTitle); } protected function getMusicGame():Sound{ return (null); } public function hideInstructionsFromGame():void{ this.removeChild(instructions); instructions = null; game.visible = true; game.unpause(); } public function showInstructionsFromGame():void{ game.pause(); game.visible = false; instructions = new Instructions(true); this.addChildAt(instructions, (titleIndex + 1)); } public function gotoGamePage():void{ Game.gameStage = stage; removePage(); game = getGame(); this.addChildAt(game, titleIndex); musicGame = getMusicGame(); musicGameSoundChannel = musicGame.play(0, int.MAX_VALUE); } private function checkTitle(_arg1:Event):void{ if (!(title = getTitle())){ return; }; this.removeEventListener(Event.ENTER_FRAME, checkTitle); stop(); titleIndex = this.getChildIndex(title); } public function gotoTitlePage():void{ removePage(); title = new Title(); this.addChildAt(title, titleIndex); } public function gotoInstructionsPage():void{ removePage(); instructions = new Instructions(); this.addChildAt(instructions, titleIndex); } public function showHighScores():void{ trace("showHighScores()"); } public function showEnterHighScore(_arg1:int):void{ trace((("showEnterHighScore(" + _arg1) + ")")); } protected function getGame():Game{ return (null); } private function removePage():void{ if (title){ removeChild(title); title = null; }; if (instructions){ removeChild(instructions); instructions = null; }; if (game){ removeChild(game); game = null; }; if (musicGame){ musicGameSoundChannel.stop(); musicGame = null; musicGameSoundChannel = null; }; } protected function getTitle():Title{ return (null); } } }//package com.novelgames.flashgames.common
Section 5
//MuteButton (com.novelgames.flashgames.common.MuteButton) package com.novelgames.flashgames.common { import flash.events.*; import flash.media.*; import flash.display.*; public class MuteButton extends MovieClip { private var gameSoundTransform:SoundTransform; public function MuteButton(){ if (SoundMixer.soundTransform.volume == 0){ showOff(); } else { showOn(); }; this.addEventListener(MouseEvent.CLICK, buttonClicked); this.buttonMode = true; } private function showOff():void{ gotoAndStop("off"); } private function buttonClicked(_arg1:MouseEvent):void{ var _local2:SoundTransform; _local2 = new SoundTransform(); if (SoundMixer.soundTransform.volume == 0){ _local2.volume = 1; SoundMixer.soundTransform = _local2; showOn(); } else { _local2.volume = 0; SoundMixer.soundTransform = _local2; showOff(); }; } private function showOn():void{ gotoAndStop("on"); } } }//package com.novelgames.flashgames.common
Section 6
//NewTimer (com.novelgames.flashgames.common.NewTimer) package com.novelgames.flashgames.common { import flash.events.*; import flash.utils.*; public class NewTimer extends Timer { private var adjustedStartTime:int; private var listener:Function; private var originalRepeatCount:int; private var originalDelay:int; private static var pauseTime:int; private static var paused:Boolean = false; private static var totalPausedTime:int = 0; public function NewTimer(_arg1:Number, _arg2:int=0):void{ super(_arg1, _arg2); originalDelay = _arg1; originalRepeatCount = _arg2; } override public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ if (_arg1 != TimerEvent.TIMER){ super.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); return; }; this.listener = _arg2; super.addEventListener(_arg1, timerEventListener); } override public function start():void{ adjustedStartTime = NewTimer.getTimer(); super.start(); } private function timerEventListener(_arg1:TimerEvent):void{ if (paused){ stop(); delay = Math.max((originalDelay - (NewTimer.getTimer() - adjustedStartTime)), 1); if (originalRepeatCount > 0){ repeatCount++; }; super.start(); return; }; if ((NewTimer.getTimer() - adjustedStartTime) >= originalDelay){ adjustedStartTime = NewTimer.getTimer(); if (delay != originalDelay){ stop(); delay = originalDelay; super.start(); }; listener(_arg1); } else { stop(); delay = Math.max((originalDelay - (NewTimer.getTimer() - adjustedStartTime)), 1); if (originalRepeatCount > 0){ repeatCount++; }; super.start(); }; } public static function unpause():void{ if (!paused){ return; }; paused = false; totalPausedTime = (totalPausedTime + (getTimer() - pauseTime)); } public static function getTimer():int{ if (paused){ return ((pauseTime - totalPausedTime)); }; return ((getTimer() - totalPausedTime)); } public static function pause():void{ if (paused){ return; }; paused = true; pauseTime = getTimer(); } } }//package com.novelgames.flashgames.common
Section 7
//Title (com.novelgames.flashgames.common.Title) package com.novelgames.flashgames.common { import flash.events.*; import flash.display.*; import flash.net.*; public class Title extends MovieClip { public var startButton:SimpleButton; public function Title(){ startButton.addEventListener(MouseEvent.CLICK, startButtonClicked); } private function startButtonClicked(_arg1:MouseEvent):void{ Object(parent).gotoInstructionsPage(); } private function moreGamesButtonClicked(_arg1:MouseEvent):void{ navigateToURL(new URLRequest("http://www.novelgames.com"), "_blank"); } private function highScoresButtonClicked(_arg1:MouseEvent):void{ Object(parent).showHighScores(); } } }//package com.novelgames.flashgames.common
Section 8
//Config (com.novelgames.flashgames.mahjongg.Config) package com.novelgames.flashgames.mahjongg { public class Config { public static var DIMENSION_Y:Number = 8; public static var TILE_THICKNESS:Number = 4; public static var SCORE_PERSECOND:Number = 10; public static var SCORE_BASE:Number = 10000; public static var HINT_PUNISHMENT:Number = 60; public static var FLOORNO:Number = 5; public static var FLOORS:Array = ["011111111111100000111111110000001111111111000111111111111100011111111111111001111111111000000111111110000011111111111100", "000000000000000000011111100000000011111100000000011111100000000011111100000000011111100000000011111100000000000000000000", "000000000000000000000000000000000001111000000000001111000000000001111000000000001111000000000000000000000000000000000000", "000000000000000000000000000000000000000000000000000110000000000000110000000000000000000000000000000000000000000000000000", "000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000"]; public static var MESSAGE_GAMEOVERTIME:Number = 1000; public static var TILE_INFOS:Array = [[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4], [5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8], [9, 9, 9, 9], [10, 10, 10, 10], [11, 11, 11, 11], [12, 12, 12, 12], [13, 13, 13, 13], [14, 14, 14, 14], [15, 15, 15, 15], [16, 16, 16, 16], [17, 17, 17, 17], [18, 18, 18, 18], [19, 19, 19, 19], [20, 20, 20, 20], [21, 21, 21, 21], [22, 22, 22, 22], [23, 23, 23, 23], [24, 24, 24, 24], [25, 25, 25, 25], [26, 26, 26, 26], [27, 27, 27, 27], [28, 28, 28, 28], [29, 29, 29, 29], [30, 30, 30, 30], [31, 31, 31, 31], [32, 32, 32, 32], [33, 33, 33, 33], [34, 34, 34, 34], [35, 36, 37, 38], [39, 40, 41, 42]]; public static var TILE_WIDTH:Number = 31; public static var TILE_HEIGHT:Number = 46; public static var DIMENSION_X:Number = 15; } }//package com.novelgames.flashgames.mahjongg
Section 9
//EndDialog (com.novelgames.flashgames.mahjongg.EndDialog) package com.novelgames.flashgames.mahjongg { import flash.events.*; import flash.display.*; public class EndDialog extends MovieClip { private var messagePlayAgain:MessagePlayAgain; public function EndDialog(){ gotoAndStop("hide"); } public function showGameOver():void{ gotoAndStop("gameOver"); } public function showPlayAgain():void{ gotoAndStop("playAgain"); messagePlayAgain = new MessagePlayAgain(); messagePlayAgain.playAgainButton.addEventListener(MouseEvent.CLICK, playAgainButtonClicked); messagePlayAgain.homeButton.addEventListener(MouseEvent.CLICK, homeButtonClicked); messagePlayAgain.playAgainSameTilesButton.addEventListener(MouseEvent.CLICK, playAgainSameTilesButtonClicked); addChild(messagePlayAgain); } private function playAgainButtonClicked(_arg1:MouseEvent):void{ Object(parent.parent).gotoGamePage(); } public function hide():void{ if (messagePlayAgain){ this.removeChild(messagePlayAgain); messagePlayAgain = null; }; gotoAndStop("hide"); } private function playAgainSameTilesButtonClicked(_arg1:MouseEvent):void{ Object(parent).restart(null); } public function showGameWin():void{ gotoAndStop("gameWin"); } private function homeButtonClicked(_arg1:MouseEvent):void{ Object(parent.parent).gotoTitlePage(); } } }//package com.novelgames.flashgames.mahjongg
Section 10
//Game (com.novelgames.flashgames.mahjongg.Game) package com.novelgames.flashgames.mahjongg { import flash.events.*; import com.novelgames.flashgames.common.*; import flash.media.*; import flash.utils.*; import flash.display.*; import flash.text.*; public class Game extends Game { public var endDialog:EndDialog; private var soundGameOver:Sound; public var restartButton:SimpleButton; private var gameStarted:Boolean; public var secondsText:TextField; private var soundTile:Sound; private var soundWin:Sound; public var hintButton:SimpleButton; private var __seconds:Number; public var minutesText:TextField; private var __score:Number; private var tilesReal:Array; private var tilesRemovable:Array; public var scoreText:TextField; private var __minutes:Number; private var beginTime:Number; private var timer:Timer; public var selectDialog:SelectDialog; private var tiles:Array; public var tilesHolder:MovieClip; private var soundWrong:Sound; private var selectedTile:Tile; private var soundMatch:Sound; public function Game(){ soundTile = new SoundTile(); soundMatch = new SoundMatch(); soundWrong = new SoundWrong(); soundGameOver = new SoundGameOver(); soundWin = new SoundWin(); timer = new NewTimer(1, 0); timer.addEventListener(TimerEvent.TIMER, onTime); timer.start(); } public function restart(_arg1:MouseEvent):void{ var _local2:Number; _local2 = 0; while (_local2 < tilesReal.length) { tilesReal[_local2].visible = true; tilesReal[_local2].gotoAndStop("normal"); _local2++; }; minutes = 0; seconds = 0; selectedTile = null; gameStarted = true; beginTime = NewTimer.getTimer(); endDialog.hide(); restartButton.visible = true; hintButton.visible = true; } private function showPlayAgain(_arg1:TimerEvent):void{ Object(parent).showEnterHighScore(score); endDialog.showPlayAgain(); } private function getTileTypesPairs():Array{ var _local1:Number; var _local2:Number; var _local3:Object; var _local4:Array; var _local5:Object; _local4 = new Array(); _local1 = 0; while (_local1 < Config.TILE_INFOS.length) { _local2 = 0; while (_local2 < Config.TILE_INFOS[_local1].length) { _local5 = {type:_local1, index0:_local2, index1:(_local2 + 1)}; _local4.push(_local5); _local2 = (_local2 + 2); }; _local1++; }; _local1 = 0; while (_local1 < _local4.length) { _local2 = Math.floor((Math.random() * _local4.length)); _local3 = _local4[_local1]; _local4[_local1] = _local4[_local2]; _local4[_local2] = _local3; _local1++; }; return (_local4); } private function getPutPair():Array{ var _local1:Array; var _local2:int; if (tilesRemovable.length < 2){ return (null); }; _local1 = new Array(); _local1[0] = tilesRemovable[Math.floor((Math.random() * tilesRemovable.length))]; do { _local1[1] = tilesRemovable[Math.floor((Math.random() * tilesRemovable.length))]; } while (_local1[0] == _local1[1]); return (_local1); } public function clickTile(_arg1:Tile):void{ if (!gameStarted){ return; }; if (!tileIsRemovable(_arg1)){ soundWrong.play(); return; }; if (selectedTile == null){ selectedTile = _arg1; selectedTile.gotoAndStop("selected"); soundTile.play(); } else { if (selectedTile == _arg1){ selectedTile.gotoAndStop("normal"); selectedTile = null; soundTile.play(); } else { if (selectedTile.type != _arg1.type){ selectedTile.gotoAndStop("normal"); selectedTile = _arg1; selectedTile.gotoAndStop("selected"); soundTile.play(); } else { removeTile(selectedTile); removeTile(_arg1); selectedTile = null; soundMatch.play(); if (!checkWin()){ checkGameOver(); }; }; }; }; } public function get seconds():Number{ return (__seconds); } private function findPair():Array{ var _local1:Number; var _local2:Number; var _local3:Array; var _local4:Array; _local3 = new Array(); _local4 = new Array(2); _local1 = 0; while (_local1 < tilesReal.length) { if (tileIsRemovable(tilesReal[_local1])){ _local3.push(tilesReal[_local1]); _local2 = 0; while (_local2 < (_local3.length - 1)) { if (tilesReal[_local1].type == _local3[_local2].type){ _local4[0] = tilesReal[_local1]; _local4[1] = _local3[_local2]; return (_local4); }; _local2++; }; }; _local1++; }; return (null); } private function gameWin():void{ var _local1:Timer; gameStarted = false; endDialog.showGameWin(); soundWin.play(); restartButton.visible = false; hintButton.visible = false; _local1 = new NewTimer(Config.MESSAGE_GAMEOVERTIME, 1); _local1.addEventListener(TimerEvent.TIMER, showPlayAgain); _local1.start(); } public function get score():Number{ return (__score); } public function startPlay(_arg1:Number):void{ var _local2:Number; var _local3:Number; var _local4:Number; var _local5:Number; _local2 = 0; selectDialog.visible = false; tiles = new Array(); tilesReal = new Array(); tilesRemovable = new Array(); selectedTile = null; gameStarted = false; beginTime = 0; minutes = 0; seconds = 0; score = Config.SCORE_BASE; _local5 = 0; _local3 = 0; while (_local3 < Config.FLOORNO) { _local4 = 0; while (_local4 < Config.FLOORS[_local3].length) { if (Config.FLOORS[_local3].substr(_local4, 1) == "1"){ tiles[_local2] = new Tile(); tiles[_local2].x = (((_local4 % Config.DIMENSION_X) * Config.TILE_WIDTH) - (_local3 * Config.TILE_THICKNESS)); tiles[_local2].y = ((Math.floor((_local4 / Config.DIMENSION_X)) * Config.TILE_HEIGHT) - (_local3 * Config.TILE_THICKNESS)); tiles[_local2].index = _local2; tiles[_local2].type = -1; tiles[_local2].setTileSet(_arg1); tilesHolder.addChild(tiles[_local2]); tilesReal[_local5] = tiles[_local2]; _local5++; }; _local2++; _local4++; }; _local3++; }; tiles[45].y = (tiles[45].y + (Config.TILE_HEIGHT / 2)); tiles[73].y = (tiles[73].y - (Config.TILE_HEIGHT / 2)); tiles[74].y = (tiles[74].y - (Config.TILE_HEIGHT / 2)); tiles[547].x = (tiles[547].x - (Config.TILE_WIDTH / 2)); tiles[547].y = (tiles[547].y - (Config.TILE_HEIGHT / 2)); restartButton.addEventListener(MouseEvent.CLICK, restart); hintButton.addEventListener(MouseEvent.CLICK, showHint); newGame(); } public function get minutes():Number{ return (__minutes); } public function set seconds(_arg1:Number):void{ __seconds = _arg1; secondsText.text = (((_arg1 < 10)) ? "0" : "" + _arg1.toString()); } private function checkGameOver():Boolean{ var _local1:Number; var _local2:Number; var _local3:Array; _local3 = new Array(); _local1 = 0; while (_local1 < tilesReal.length) { if (tileIsRemovable(tilesReal[_local1])){ _local3.push(tilesReal[_local1]); _local2 = 0; while (_local2 < (_local3.length - 1)) { if (tilesReal[_local1].type == _local3[_local2].type){ return (false); }; _local2++; }; }; _local1++; }; gameOver(); return (true); } public function set score(_arg1:Number):void{ __score = _arg1; scoreText.text = _arg1.toString(); } private function showHint(_arg1:MouseEvent):void{ var _local2:Array; _local2 = findPair(); if (_local2){ beginTime = (beginTime - (Config.HINT_PUNISHMENT * 1000)); _local2[0].gotoAndPlay("hint"); _local2[1].gotoAndPlay("hint"); }; } private function tileIsRemovable(_arg1):Boolean{ var _local2:Number; var _local3:Number; _local2 = _arg1.index; _local3 = (_local2 % Config.DIMENSION_X); if (!_arg1.visible){ return (false); }; if ((((((((((((_local3 > 0)) && ((_local3 < (Config.DIMENSION_X - 1))))) && (tiles[(_local2 - 1)]))) && (tiles[(_local2 - 1)].visible))) && (tiles[(_local2 + 1)]))) && (tiles[(_local2 + 1)].visible))){ return (false); }; if ((((((_local2 < ((Config.DIMENSION_X * Config.DIMENSION_Y) * (Config.FLOORNO - 1)))) && (tiles[(_local2 + (Config.DIMENSION_X * Config.DIMENSION_Y))]))) && (tiles[(_local2 + (Config.DIMENSION_X * Config.DIMENSION_Y))].visible))){ return (false); }; if ((((((_local2 == 61)) && (tiles[45].visible))) && (tiles[62].visible))){ return (false); }; if ((((((_local2 == 73)) && (tiles[74].visible))) && (((tiles[57].visible) || (tiles[72].visible))))){ return (false); }; if ((((((_local2 == 57)) && (tiles[56].visible))) && (tiles[73].visible))){ return (false); }; if ((((_local2 == 411)) && (tiles[547].visible))){ return (false); }; if ((((_local2 == 412)) && (tiles[547].visible))){ return (false); }; if ((((_local2 == 426)) && (tiles[547].visible))){ return (false); }; return (true); } private function onTime(_arg1:TimerEvent):void{ var _local2:Number; if (!gameStarted){ return; }; _local2 = (NewTimer.getTimer() - beginTime); minutes = Math.floor((_local2 / 60000)); seconds = Math.floor(((_local2 % 60000) / 1000)); score = ((Config.SCORE_BASE - ((minutes * 60) * Config.SCORE_PERSECOND)) - (seconds * Config.SCORE_PERSECOND)); if (score < 0){ score = 0; }; } private function removeTile(_arg1:Tile):void{ var _local2:Number; var _local3:Number; var _local4:Number; _local2 = _arg1.index; _local3 = (_local2 % Config.DIMENSION_X); _local4 = 0; while (_local4 < tilesRemovable.length) { if (tilesRemovable[_local4] == _arg1){ tilesRemovable.splice(_local4, 1); break; }; _local4++; }; _arg1.visible = false; if ((((((_local3 > 0)) && (tiles[(_local2 - 1)]))) && (tileIsRemovable(tiles[(_local2 - 1)])))){ addTilesRemovable(tiles[(_local2 - 1)]); }; if ((((((_local3 < (Config.DIMENSION_X - 1))) && (tiles[(_local2 + 1)]))) && (tileIsRemovable(tiles[(_local2 + 1)])))){ addTilesRemovable(tiles[(_local2 + 1)]); }; if ((((((_local2 >= (Config.DIMENSION_X * Config.DIMENSION_Y))) && (tiles[(_local2 - (Config.DIMENSION_X * Config.DIMENSION_Y))]))) && (tileIsRemovable(tiles[(_local2 - (Config.DIMENSION_X * Config.DIMENSION_Y))])))){ addTilesRemovable(tiles[(_local2 - (Config.DIMENSION_X * Config.DIMENSION_Y))]); }; if (_local2 == 45){ if (tileIsRemovable(tiles[61])){ addTilesRemovable(tiles[61]); }; } else { if (_local2 == 73){ if (tileIsRemovable(tiles[57])){ addTilesRemovable(tiles[57]); }; } else { if (_local2 == 57){ if (tileIsRemovable(tiles[73])){ addTilesRemovable(tiles[73]); }; } else { if (_local2 == 547){ addTilesRemovable(tiles[411]); addTilesRemovable(tiles[412]); addTilesRemovable(tiles[426]); }; }; }; }; } private function setTileType(_arg1:Tile, _arg2:Number, _arg3:Number):void{ _arg1.type = _arg2; _arg1.tileGraphics.gotoAndStop(Config.TILE_INFOS[_arg2][_arg3]); } private function newGame():void{ var _local1:Number; _local1 = 0; while (_local1 < tilesReal.length) { tilesReal[_local1].visible = true; tilesReal[_local1].type = -1; _local1++; }; putTiles(); restart(null); } private function checkWin():Boolean{ var _local1:Number; _local1 = 0; while (_local1 < tilesReal.length) { if (tilesReal[_local1].visible){ return (false); }; _local1++; }; gameWin(); return (true); } private function putTiles():void{ var _local1:Number; var _local2:Array; var _local3:Array; while (true) { updateTilesRemovable(); _local2 = getTileTypesPairs(); _local1 = 0; while (_local1 < _local2.length) { _local3 = getPutPair(); if (_local3 == null){ break; }; setTileType(_local3[0], _local2[_local1].type, _local2[_local1].index0); setTileType(_local3[1], _local2[_local1].type, _local2[_local1].index1); removeTile(_local3[0]); removeTile(_local3[1]); _local1++; }; if (_local1 >= _local2.length){ break; }; _local1 = 0; while (_local1 < tilesReal.length) { tilesReal[_local1].visible = true; _local1++; }; }; } public function set minutes(_arg1:Number):void{ __minutes = _arg1; minutesText.text = _arg1.toString(); } private function addTilesRemovable(_arg1:Tile):void{ var _local2:Number; _local2 = 0; while (_local2 < tilesRemovable.length) { if (tilesRemovable[_local2] == _arg1){ return; }; _local2++; }; tilesRemovable.push(_arg1); } private function gameOver():void{ var _local1:Timer; gameStarted = false; score = 0; endDialog.showGameOver(); soundGameOver.play(); restartButton.visible = false; hintButton.visible = false; _local1 = new NewTimer(Config.MESSAGE_GAMEOVERTIME, 1); _local1.addEventListener(TimerEvent.TIMER, showPlayAgain); _local1.start(); } private function updateTilesRemovable():void{ var _local1:Number; tilesRemovable = new Array(); _local1 = 0; while (_local1 < tilesReal.length) { if (tileIsRemovable(tilesReal[_local1])){ tilesRemovable.push(tilesReal[_local1]); }; _local1++; }; } } }//package com.novelgames.flashgames.mahjongg
Section 11
//Main (com.novelgames.flashgames.mahjongg.Main) package com.novelgames.flashgames.mahjongg { import com.novelgames.flashgames.common.*; import flash.media.*; public class Main extends MainDevelopment { public var title:Title; override protected function getMusicGame():Sound{ return (new MusicGame()); } override protected function getGame():Game{ return (new Game()); } override protected function getTitle():Title{ return (title); } } }//package com.novelgames.flashgames.mahjongg
Section 12
//MessagePlayAgain (com.novelgames.flashgames.mahjongg.MessagePlayAgain) package com.novelgames.flashgames.mahjongg { import flash.display.*; public dynamic class MessagePlayAgain extends MovieClip { public var playAgainSameTilesButton:SimpleButton; public var playAgainButton:SimpleButton; public var homeButton:SimpleButton; } }//package com.novelgames.flashgames.mahjongg
Section 13
//MusicGame (com.novelgames.flashgames.mahjongg.MusicGame) package com.novelgames.flashgames.mahjongg { import flash.media.*; public dynamic class MusicGame extends Sound { } }//package com.novelgames.flashgames.mahjongg
Section 14
//SelectDialog (com.novelgames.flashgames.mahjongg.SelectDialog) package com.novelgames.flashgames.mahjongg { import flash.events.*; import flash.display.*; public class SelectDialog extends MovieClip { public var blocker:SimpleButton; public var selectButton0:SimpleButton; public var selectButton1:SimpleButton; public function SelectDialog(){ selectButton0.addEventListener(MouseEvent.CLICK, selectButtonClicked); selectButton1.addEventListener(MouseEvent.CLICK, selectButtonClicked); blocker.useHandCursor = false; } private function selectButtonClicked(_arg1:MouseEvent):void{ var _local2:int; _local2 = ((_arg1.currentTarget == selectButton0)) ? 0 : 1; Object(parent).startPlay(_local2); } } }//package com.novelgames.flashgames.mahjongg
Section 15
//SoundGameOver (com.novelgames.flashgames.mahjongg.SoundGameOver) package com.novelgames.flashgames.mahjongg { import flash.media.*; public dynamic class SoundGameOver extends Sound { } }//package com.novelgames.flashgames.mahjongg
Section 16
//SoundMatch (com.novelgames.flashgames.mahjongg.SoundMatch) package com.novelgames.flashgames.mahjongg { import flash.media.*; public dynamic class SoundMatch extends Sound { } }//package com.novelgames.flashgames.mahjongg
Section 17
//SoundTile (com.novelgames.flashgames.mahjongg.SoundTile) package com.novelgames.flashgames.mahjongg { import flash.media.*; public dynamic class SoundTile extends Sound { } }//package com.novelgames.flashgames.mahjongg
Section 18
//SoundWin (com.novelgames.flashgames.mahjongg.SoundWin) package com.novelgames.flashgames.mahjongg { import flash.media.*; public dynamic class SoundWin extends Sound { } }//package com.novelgames.flashgames.mahjongg
Section 19
//SoundWrong (com.novelgames.flashgames.mahjongg.SoundWrong) package com.novelgames.flashgames.mahjongg { import flash.media.*; public dynamic class SoundWrong extends Sound { } }//package com.novelgames.flashgames.mahjongg
Section 20
//Tile (com.novelgames.flashgames.mahjongg.Tile) package com.novelgames.flashgames.mahjongg { import flash.events.*; import flash.display.*; public class Tile extends MovieClip { public var button:SimpleButton; public var tileGraphics:MovieClip; public var tileGraphicsHolder:MovieClip; public var type:Number; public var index:Number; public function Tile(){ addFrameScript(20, frame21); this["cacheAsBitmap"] = true; stop(); button.addEventListener(MouseEvent.CLICK, buttonClicked); } public function setTileSet(_arg1:Number):void{ tileGraphics = ((_arg1 == 0)) ? new TileGraphics0() : new TileGraphics1(); tileGraphicsHolder.addChild(tileGraphics); } public function showHint():void{ gotoAndPlay("hint"); } private function hintAnimationFinished():void{ gotoAndStop("normal"); } function frame21(){ hintAnimationFinished(); } private function buttonClicked(_arg1:MouseEvent):void{ Object(parent.parent).clickTile(this); } public function showSelected():void{ gotoAndStop("selected"); } } }//package com.novelgames.flashgames.mahjongg
Section 21
//TileGraphics0 (com.novelgames.flashgames.mahjongg.TileGraphics0) package com.novelgames.flashgames.mahjongg { import flash.display.*; public dynamic class TileGraphics0 extends MovieClip { } }//package com.novelgames.flashgames.mahjongg
Section 22
//TileGraphics1 (com.novelgames.flashgames.mahjongg.TileGraphics1) package com.novelgames.flashgames.mahjongg { import flash.display.*; public dynamic class TileGraphics1 extends MovieClip { } }//package com.novelgames.flashgames.mahjongg

Library Items

Symbol 1 Sound {com.novelgames.flashgames.mahjongg.SoundWrong}
Symbol 2 Sound {com.novelgames.flashgames.mahjongg.SoundWin}
Symbol 3 Sound {com.novelgames.flashgames.mahjongg.SoundTile}
Symbol 4 Sound {com.novelgames.flashgames.mahjongg.SoundMatch}
Symbol 5 Sound {com.novelgames.flashgames.mahjongg.SoundGameOver}
Symbol 6 Sound {com.novelgames.flashgames.mahjongg.MusicGame}
Symbol 7 BitmapUsed by:8 43 46
Symbol 8 GraphicUses:7Used by:13 160
Symbol 9 MovieClipUsed by:13 54
Symbol 10 GraphicUsed by:11 31 34 137
Symbol 11 ButtonUses:10Used by:13
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClip {com.novelgames.flashgames.mahjongg.Tile}Uses:8 9 11 12
Symbol 14 FontUsed by:15 17 35 36 37 39 40 41 139
Symbol 15 TextUses:14Used by:16
Symbol 16 MovieClipUses:15Used by:19
Symbol 17 TextUses:14Used by:18
Symbol 18 MovieClipUses:17Used by:19
Symbol 19 MovieClip {com.novelgames.flashgames.mahjongg.EndDialog}Uses:16 18Used by:54
Symbol 20 GraphicUsed by:21
Symbol 21 MovieClip {com.novelgames.flashgames.common.InstructionsButton}Uses:20Used by:54
Symbol 22 GraphicUsed by:25
Symbol 23 GraphicUsed by:25
Symbol 24 GraphicUsed by:25
Symbol 25 MovieClip {com.novelgames.flashgames.common.MuteButton}Uses:22 23 24Used by:54
Symbol 26 BitmapUsed by:27
Symbol 27 GraphicUses:26Used by:42 54 141 160
Symbol 28 FontUsed by:29 32 47 49 51 135 138 142 146 150
Symbol 29 TextUses:28Used by:30
Symbol 30 MovieClipUses:29Used by:31
Symbol 31 ButtonUses:30 10Used by:54
Symbol 32 TextUses:28Used by:33
Symbol 33 MovieClipUses:32Used by:34
Symbol 34 ButtonUses:33 10Used by:54
Symbol 35 EditableTextUses:14Used by:54
Symbol 36 TextUses:14Used by:38
Symbol 37 TextUses:14Used by:38
Symbol 38 MovieClipUses:36 37Used by:54
Symbol 39 EditableTextUses:14Used by:54
Symbol 40 EditableTextUses:14Used by:54
Symbol 41 TextUses:14Used by:54
Symbol 42 ButtonUses:27Used by:53
Symbol 43 GraphicUses:7Used by:53
Symbol 44 GraphicUsed by:45
Symbol 45 ButtonUses:44Used by:53
Symbol 46 GraphicUses:7Used by:53
Symbol 47 TextUses:28Used by:48
Symbol 48 MovieClipUses:47Used by:53
Symbol 49 TextUses:28Used by:50
Symbol 50 MovieClipUses:49Used by:53
Symbol 51 TextUses:28Used by:52
Symbol 52 MovieClipUses:51Used by:53
Symbol 53 MovieClip {com.novelgames.flashgames.mahjongg.SelectDialog}Uses:42 43 45 46 48 50 52Used by:54
Symbol 54 MovieClip {com.novelgames.flashgames.mahjongg.Game}Uses:27 9 31 34 35 38 25 39 40 41 21 19 53
Symbol 55 GraphicUsed by:91
Symbol 56 GraphicUsed by:91
Symbol 57 GraphicUsed by:91
Symbol 58 GraphicUsed by:91
Symbol 59 GraphicUsed by:91
Symbol 60 GraphicUsed by:91
Symbol 61 GraphicUsed by:91
Symbol 62 GraphicUsed by:91
Symbol 63 GraphicUsed by:91
Symbol 64 GraphicUsed by:91
Symbol 65 GraphicUsed by:91
Symbol 66 GraphicUsed by:91
Symbol 67 GraphicUsed by:91
Symbol 68 GraphicUsed by:91
Symbol 69 GraphicUsed by:91
Symbol 70 GraphicUsed by:91
Symbol 71 GraphicUsed by:91
Symbol 72 GraphicUsed by:91
Symbol 73 GraphicUsed by:91
Symbol 74 GraphicUsed by:91
Symbol 75 GraphicUsed by:91
Symbol 76 GraphicUsed by:91
Symbol 77 GraphicUsed by:91
Symbol 78 GraphicUsed by:91
Symbol 79 GraphicUsed by:91
Symbol 80 GraphicUsed by:91
Symbol 81 GraphicUsed by:91
Symbol 82 GraphicUsed by:91
Symbol 83 GraphicUsed by:91
Symbol 84 GraphicUsed by:91
Symbol 85 GraphicUsed by:91
Symbol 86 GraphicUsed by:91
Symbol 87 GraphicUsed by:91
Symbol 88 GraphicUsed by:91
Symbol 89 GraphicUsed by:91
Symbol 90 GraphicUsed by:91
Symbol 91 MovieClip {com.novelgames.flashgames.mahjongg.TileGraphics1}Uses:55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
Symbol 92 GraphicUsed by:134
Symbol 93 GraphicUsed by:134
Symbol 94 GraphicUsed by:134
Symbol 95 GraphicUsed by:134
Symbol 96 GraphicUsed by:134
Symbol 97 GraphicUsed by:134
Symbol 98 GraphicUsed by:134
Symbol 99 GraphicUsed by:134
Symbol 100 GraphicUsed by:134
Symbol 101 GraphicUsed by:134
Symbol 102 GraphicUsed by:134
Symbol 103 GraphicUsed by:134
Symbol 104 GraphicUsed by:134
Symbol 105 GraphicUsed by:134
Symbol 106 GraphicUsed by:134
Symbol 107 GraphicUsed by:134
Symbol 108 GraphicUsed by:134
Symbol 109 GraphicUsed by:134
Symbol 110 GraphicUsed by:134
Symbol 111 GraphicUsed by:134
Symbol 112 GraphicUsed by:134
Symbol 113 GraphicUsed by:134
Symbol 114 GraphicUsed by:134
Symbol 115 GraphicUsed by:134
Symbol 116 GraphicUsed by:134
Symbol 117 GraphicUsed by:134
Symbol 118 GraphicUsed by:134
Symbol 119 GraphicUsed by:134
Symbol 120 GraphicUsed by:134
Symbol 121 GraphicUsed by:134
Symbol 122 GraphicUsed by:134
Symbol 123 GraphicUsed by:134
Symbol 124 GraphicUsed by:134
Symbol 125 GraphicUsed by:134
Symbol 126 GraphicUsed by:134
Symbol 127 GraphicUsed by:134
Symbol 128 GraphicUsed by:134
Symbol 129 GraphicUsed by:134
Symbol 130 GraphicUsed by:134
Symbol 131 GraphicUsed by:134
Symbol 132 GraphicUsed by:134
Symbol 133 GraphicUsed by:134
Symbol 134 MovieClip {com.novelgames.flashgames.mahjongg.TileGraphics0}Uses:92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
Symbol 135 TextUses:28Used by:136
Symbol 136 MovieClipUses:135Used by:137
Symbol 137 ButtonUses:136 10Used by:141 160
Symbol 138 TextUses:28Used by:140
Symbol 139 TextUses:14Used by:140
Symbol 140 MovieClipUses:138 139Used by:141
Symbol 141 MovieClip {com.novelgames.flashgames.common.Instructions}Uses:27 137 140
Symbol 142 TextUses:28Used by:143
Symbol 143 MovieClipUses:142Used by:145
Symbol 144 GraphicUsed by:145 152
Symbol 145 ButtonUses:143 144Used by:153
Symbol 146 TextUses:28Used by:147
Symbol 147 MovieClipUses:146Used by:149
Symbol 148 GraphicUsed by:149
Symbol 149 ButtonUses:147 148Used by:153
Symbol 150 TextUses:28Used by:151
Symbol 151 MovieClipUses:150Used by:152
Symbol 152 ButtonUses:151 144Used by:153
Symbol 153 MovieClip {com.novelgames.flashgames.mahjongg.MessagePlayAgain}Uses:145 149 152
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:156
Symbol 156 MovieClipUses:155Used by:160
Symbol 157 FontUsed by:158 159
Symbol 158 TextUses:157Used by:160
Symbol 159 TextUses:157Used by:160
Symbol 160 MovieClip {com.novelgames.flashgames.common.Title}Uses:27 137 156 8 158 159Used by:Timeline

Instance Names

"title"Frame 1Symbol 160 MovieClip {com.novelgames.flashgames.common.Title}
"tileGraphicsHolder"Symbol 13 MovieClip {com.novelgames.flashgames.mahjongg.Tile} Frame 1Symbol 9 MovieClip
"button"Symbol 13 MovieClip {com.novelgames.flashgames.mahjongg.Tile} Frame 1Symbol 11 Button
"blocker"Symbol 53 MovieClip {com.novelgames.flashgames.mahjongg.SelectDialog} Frame 1Symbol 42 Button
"selectButton0"Symbol 53 MovieClip {com.novelgames.flashgames.mahjongg.SelectDialog} Frame 1Symbol 45 Button
"selectButton1"Symbol 53 MovieClip {com.novelgames.flashgames.mahjongg.SelectDialog} Frame 1Symbol 45 Button
"tilesHolder"Symbol 54 MovieClip {com.novelgames.flashgames.mahjongg.Game} Frame 1Symbol 9 MovieClip
"restartButton"Symbol 54 MovieClip {com.novelgames.flashgames.mahjongg.Game} Frame 1Symbol 31 Button
"hintButton"Symbol 54 MovieClip {com.novelgames.flashgames.mahjongg.Game} Frame 1Symbol 34 Button
"scoreText"Symbol 54 MovieClip {com.novelgames.flashgames.mahjongg.Game} Frame 1Symbol 35 EditableText
"minutesText"Symbol 54 MovieClip {com.novelgames.flashgames.mahjongg.Game} Frame 1Symbol 39 EditableText
"secondsText"Symbol 54 MovieClip {com.novelgames.flashgames.mahjongg.Game} Frame 1Symbol 40 EditableText
"endDialog"Symbol 54 MovieClip {com.novelgames.flashgames.mahjongg.Game} Frame 1Symbol 19 MovieClip {com.novelgames.flashgames.mahjongg.EndDialog}
"selectDialog"Symbol 54 MovieClip {com.novelgames.flashgames.mahjongg.Game} Frame 1Symbol 53 MovieClip {com.novelgames.flashgames.mahjongg.SelectDialog}
"startButton"Symbol 141 MovieClip {com.novelgames.flashgames.common.Instructions} Frame 1Symbol 137 Button
"playAgainButton"Symbol 153 MovieClip {com.novelgames.flashgames.mahjongg.MessagePlayAgain} Frame 1Symbol 145 Button
"homeButton"Symbol 153 MovieClip {com.novelgames.flashgames.mahjongg.MessagePlayAgain} Frame 1Symbol 149 Button
"playAgainSameTilesButton"Symbol 153 MovieClip {com.novelgames.flashgames.mahjongg.MessagePlayAgain} Frame 1Symbol 152 Button
"startButton"Symbol 160 MovieClip {com.novelgames.flashgames.common.Title} Frame 1Symbol 137 Button

Special Tags

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

Labels

"game"Frame 1
"normal"Symbol 13 MovieClip {com.novelgames.flashgames.mahjongg.Tile} Frame 1
"selected"Symbol 13 MovieClip {com.novelgames.flashgames.mahjongg.Tile} Frame 8
"hint"Symbol 13 MovieClip {com.novelgames.flashgames.mahjongg.Tile} Frame 16
"hide"Symbol 19 MovieClip {com.novelgames.flashgames.mahjongg.EndDialog} Frame 1
"gameOver"Symbol 19 MovieClip {com.novelgames.flashgames.mahjongg.EndDialog} Frame 10
"gameWin"Symbol 19 MovieClip {com.novelgames.flashgames.mahjongg.EndDialog} Frame 20
"playAgain"Symbol 19 MovieClip {com.novelgames.flashgames.mahjongg.EndDialog} Frame 29
"on"Symbol 25 MovieClip {com.novelgames.flashgames.common.MuteButton} Frame 1
"off"Symbol 25 MovieClip {com.novelgames.flashgames.common.MuteButton} Frame 6




http://swfchan.com/29/144291/info.shtml
Created: 27/10 -2018 01:55:04 Last modified: 27/10 -2018 01:55:04 Server time: 27/04 -2024 17:53:48