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

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

dkchan-f-114-0-070708.swf

This is the info page for
Flash #21821

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


Text
1

0

1

ActionScript [AS1/AS2]

Frame 1
function init() { gGridRows = 18; gGridCols = 18; gGridWidth = 20; gGridHeight = 20; SETUP = 1; NORMAL = 2; DIGGER = 5; SOIL = 6; BOULDER = 7; JEWEL = 8; EMPTY = 9; DIE = 10; MONSTER = 13; OFFSTAGE = 14; BORDER = 15; CONCRETE = 16; DOOR = 17; TREASURE = 18; ZOMBIE = 19; DUAL = 20; PRACTICE = 21; COMPETITION = 22; WAIT = 23; SETUPLEVEL = 24; gMoveInterval = 150; gBoulderInterval = 50; gMonsterInterval = 100; gZombieInterval = 800; gDieTime = 2000; gBoulderSound = new Sound(); gJewelSound = new Sound(); gTreasureSound = new Sound(); gSquashSound = new Sound(); gDigSound = new Sound(); gDigSound.attachSound("dig_sound"); gPushSound = new Sound(); gMonsterSound = new Sound(); gZombieSound = new Sound(); gDoorSound = new Sound(); gHappySound = new Sound(); gDiggerDieSound = new Sound(); gJewelValue = 100; gTreasureValue = 150; gKeyDown = false; gPrepareWaitForKey = true; gWaitForKey = false; gDiggerDieFrame = ""; gLevelName = new Array(); gLevelData = new Array(); gLevelName.push(" "); gLevelData.push(" "); gLevelName.push("hatching egg"); gLevelData.push("eeeeeeeeeeeeeeeeee.esssssssssssssssse.esssssbbbbssssssse.essssbbjbbbbssssse.esssbbbsbsjbssssse.esssbbssbsssbsssse.esssbbssjsssbsssse.essssbssssssssssse.essssssspsssssssse.esssssssssssssssse.esssjbssssbssbssse.esssbbbssbbsjbssse.esssbbtsjbbbbbssse.esssbbbbbbbbbsssse.essssbbbbbbbssssse.esssssssssssssssse.esssssssssssssssde.eeeeeeeeemeeeeeeee"); gLevelName.push("standoff"); gLevelData.push("eeeeeeeeeeeeeeeeee.esssjbbbssssssssse.essssbbbsssjbbbsse.esssssssssssbbbsse.esssssssssssssssse.esssssssssssssssje.esssbbbsssssssssse.esssbbbsssssssssse.essssssspsssssssse.ejsssssssdsssssssz.esssssssssssssssse.esssssssssbbbsssse.esbbbsssssbbbsssse.esbbbsssssssssssse.essjssssssssssssse.essssssssssssssjse.esssssssstssssssse.eeeezeeeeeeeeeeeee"); gLevelName.push("galaxy"); gLevelData.push("eeeeeeeeeeeeeemeee.esssssssbbjsssssse.esssssbbssssssssse.essssbsssssbbbbsse.ejsssbssssbssssbse.ebsssbssssssssssbe.ebssssssssssssssje.ebssssssssssssssse.esbsssssdpsssbbsse.essbbssssssssssbse.essssssssssssssbse.esssssbsssssssssbe.esssbbsssssbssssbe.ejbbsssssssbssssje.essssssssssbssssse.essssssssbbsssssse.essssjbbbsssssssse.eeeeeeeeeeezeeeeee"); gLevelName.push("reactor"); gLevelData.push("eeeeeeeeeeeeeeeeee.essssbbbbbbbbsssse.esssbbbbtjbbbbssse.essbbbbbbbbbbbbsse.essbbbbbbbbbbbbsse.essjbbbbbbbbbbjsse.essjbbbbbbbbbbjsse.esssssssssssssssse.essssssspsssssssse.esssssssssssssssse.esssceeeeeeeecssse.esssceeeeeemecssse.essscemeeeeeecssse.esssceeesdseecssse.esssceeejjjeecssse.essscccccsccccssse.esssssssssssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("checkerboard"); gLevelData.push("eeeeeeeeeeeeeeeeee.esbcbsbsbsbsbsbsbe.ebdbjbcbjbcbjbcbte.esbsbsbsbsbcbsbsbe.ebsbsbsbsbsbsbsbse.esbsbsbsbsbjbsbsbe.ebsbsbsbsbsbsbsbse.esssssssssssssssse.essssssspsssssssse.esssssssssssssssse.esssssssssssssssse.esbsssbsssbsssbsse.ebsbsbsbsbsbjbsbse.ejssbssssssssssjbe.ebsbsbjbsbsbsbsbse.esbsbsbsssbsssbsse.ebsbsbsbsbjssbsbse.eeeeeeeeeeeeeeeeee"); gLevelName.push("robot"); gLevelData.push("eeeeeeeeeeeeeeeeee.esssssssssssssssse.msssssssssssssssse.esssjssbbsbbssjsse.essbccbbjbjbcccbsm.esssbsbbbbbbssbsse.esssssssbbbsssssse.esssssssssbsssssse.essssssspbssssssse.esssssbbbbbbbsssse.esssssbsssssbsssse.esscccbssdssbcccse.esssssbssjssbsssse.esssssbbbsbbbsssse.esssssbsssssbsssse.esssssbsssssbsssse.essssbjsssssjbssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("miner"); gLevelData.push("eeeeeeeeeeeeeeeeee.esssssssssssssssse.essssssssssssbssse.esssssbsssssbbbsse.essssbbbsssbbjbbse.esssbbtbbsbbbbbbbe.essbbjbbbbssssssse.esssssssssssssssbe.essssssspssbsssbde.esssssssssbbbsbbbe.esssbssssbbjbbssse.essbbbssbbbbbjbsse.esbjbbbsssssssssse.ebbbbbbbsjssssssse.esssssssbbbsssssse.essssssbbbbbssssse.esssssssssssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("wanderer"); gLevelData.push("eeeeeeeeeeeeeeeeee.ebssssssdsssssssbe.esbssssssssssssbse.esjbssssssssssbsse.esbsssssssssssssbe.essssssbsbssssssse.ebjbsbsbsbsbsbsbje.ebjbsbsbsbsbsbsbje.esssbssspsssssssse.essbssssssssssssse.esbsssssssssssssse.esbbbbbbbbbbbbbbse.essssssssssssjbsse.essssssbsssssbssse.esbsssssbsssbsssse.ebsssssssbjbssssse.esssssjsssbsssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("maze journey"); gLevelData.push("eeeeeeeeeeeeeeeeee.ejssssssssssssbbje.eccbbbsssbsbscbbse.esssssbbsbsbsscsse.esssscbbsssbssssse.esjsscscssesssscse.essscsssssscssssse.esssscsssscsssssse.eccbbssspcssbsssse.essssssssssbbbssse.essssssbbbbbbbbbse.ebbssssssstsbssbse.ejsbssssssbbbbbbse.esssssssssbbdbbbje.essccsbscsbbcbbbce.escjsssbssssssssse.esssssssssssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("temple"); gLevelData.push("eeeeeeeeeeeeeeeeee.ebbbbbbbbbbbbbbbbe.esbbbbbbbbbbbbbbse.esbsssbssssbsssbsm.esbjssbssssbssjbse.esbsssbssssbsssbse.esbsssbssssbsssbse.esbsssbssssbsssbse.esbssjbspssbjssbse.esbsssbssdsbsssbse.msbsssbssssbsssbse.esbsssbssssbsssbse.esbsssbssssbsssbse.esbsjsbssssbsjsbse.esbsssbjssjbsssbse.esbbbbbbbbbbbbbbse.ebbbbbbbbbbbbbbbbe.eeeeeeeeeeeeeeeeee"); gLevelName.push("autumn"); gLevelData.push("eeeeeeeeeeeeeezeee.esssssssssssssssse.esssssssbssjssssse.essjssssbsssssssse.essssssbjbssssbsse.esbsssbbsbbssbbsse.essbbbbsssbbbbbsse.essbbsssssssbbssse.esssbbsspsssbbssse.essssbbssssssbbbse.essbbsbbbbbbbsssse.essssssssbssssssse.essssssssbssssssjz.essssssssbssssssse.esssjssssbssssssse.essssssssdssssjsse.ejssssssssssssssse.eeeeeeeeeeeeemeeee"); gLevelName.push("bubbles"); gLevelData.push("eeeeeeeeeeeemeeeee.essssssssssbbbssse.essbbbsssbbsssbbse.esbsjsbssbssjssbse.essbbbsssbbsssbbse.essssssssssbbbssse.esssssbbbbbsssssse.essssbsssssbssssse.esssbssspsssbsssse.esssbssjdsssbsssse.ebsssbsssssbssssse.ejbsssbbbbbsssssse.esbssssssssssbbsse.ebssssssssssbsjbse.esssbbbbssssbjsbse.essbstssbssssbbsse.essbsjssbsssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("bull's eye"); gLevelData.push("eeeeeeeeemeeeeeeee.eeeeesssstssseeeee.eeesssssssssssseee.eessssjbbbbjssssee.essssbbssssbbsssse.esssbsssjssssbssse.essbsssbbbbsssbsse.essbssbssssbssbsse.ejsbssbspdsbssbsse.essbssbssssbssbsje.essbssbssssbssbsse.essbsssbbbbsssbsse.esssbssssjsssbssse.essssbbssssbbsssse.eeesssjbbbbjssseee.eeeesssssssssseeee.eeeeeesssssseeeeee.eemeeeeeeeeeeeeeee"); gLevelName.push("crosshair"); gLevelData.push("eeeeeeeeeeeeeeeeee.essssssjdjssssssse.esssssssbsssssssse.esssssssbsssssssse.esssssssbsssssssse.esssssssbsssssssse.esssssssbsssssssse.ejssssssssssssssje.ebbbbbbspsbbbbbbbe.ejssssssssssssssje.esssssssbssssssssm.msssssssbsssssssse.esssssssbsssssssse.esssssssbsssssssse.esssssssbsssssssse.esssssssbsssssssse.essssssjbjssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("revenge"); gLevelData.push("eeeemeeeeeeeeeeeee.etbjbjbjbjbjbjbjbe.ebsbsbsbsbsbsbsbse.esssssssssssssssse.msssssssssssssssse.esssssssssssssssse.esssssssssssssssse.essssssssssssssssm.essssssspdssssssse.esssssssssssssssse.esssssssssssssssse.esssssssssssssssse.esssssssssssssssse.esssssssssssssssse.esssssssssssssssse.esssssssssssssssse.esssssssssssssssse.eeeeeeeeeeeeeeemee"); gLevelName.push("exposed"); gLevelData.push("eeeeeeeeeeeeeeeeee.ejeebssseesssbeeje.eeeesssseessssezee.eeeessssjjssssseee.ezesssssssssssseee.eessssseeeesssssee.esbsseeeeeeeessbse.essssebssssbesssse.esssbesspsssebssse.essssessssssesssse.essssessjdssesssse.esssseeeeeeeesssse.eeeessseeeesssseee.eeeessbsbsbssseeee.eeeesssstssssszeee.ezeejssseesssjeeee.eeeesssseesssseeee.eeeeeeeeeeeeeeeeee"); gLevelName.push("running wild"); gLevelData.push("eeeeeeeeeeeemeeeee.ebssseeemeeeesssbe.ebjssssssssssssjbe.ebssssssssssssssbm.ebsssbsbsbsbsbssbe.ebssssssssssssssbe.ebssssssssssssssbe.esssssssdsssssssse.eesssssspsssssssee.eejsssbsbsbsbssjee.messssssssssssssee.eessssssssssssssee.esssssssssssssssse.esssssssssssssssse.esssssssjjssssssse.essssssseessssssse.etsssseeeeeesssste.eeeeeeeemeeeeeeeee"); gLevelName.push("smiley"); gLevelData.push("eeeeeeeeeeeeeeeeee.ejbbbssssssssbbbte.essssssssssssssssm.essssbssssssbsssse.esssbbbssssbbbssse.essbbjbbssbbjbbsse.esssbbbssssbbbssse.mssssbssssssbsssse.essssssspsssssssse.esssssbbbbbsssssse.esjssssbdbsssssjse.esbsssssbssssssbse.essbssssssssssbsse.esssbssssssssbssse.essjsbssssssbsjsse.esssssbbssbbssssse.esssssssssssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("criss-cross"); gLevelData.push("eeeeeeeeeeeeeeeeee.ebjbsssssssssbjbse.esbsbsssssssbsbssm.essbsbsssssbsbssse.zsssbsbsssbsbsssse.essssbsbjbsbssssse.esssssbsbsbsssssse.essssssbsbssssssse.essssssspsssssssse.essssssbdbssssssse.esssssbsbsbsssssse.mssssbsbjbsbssssse.esssbsbsssbsbsssse.essbsbsssssbsbssse.esbsbsssssssbsbsse.ebjbssssjssssbjbse.esssssssssssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("hodge podge"); gLevelData.push("eeeeeeeemeeeeeeeee.essssssssssssbssse.esbbbbbbbsssbjbsse.esbbbjbbsssbbsbbse.esbjssbbbssccsccse.esccsscccsssssssse.ebsssssssssbssssse.essssbbsssssbsssse.ebssssbbpssssssbje.ejbssssssssssssbje.esssssbbsssssssbje.esssbbjsbbssssbsse.essbssssssssssssse.essjbssssbbbbbssse.mssbsssssssjssssse.esbssssbbbssssssse.esssssssdsssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("serpent"); gLevelData.push("eeeeeemeeeeeeeeeee.essssssssssssbbsse.esssbssssssstbbtse.essbjbssssssbbbbbz.esbsssbsssbssbbsse.esbssssbbbsbsbssse.essbbsssssssbsssse.essssbsssssssssjse.esssssbspsssssssse.essbssbsssbbssssse.esbsbbsssbssbbssse.esbssjssbssjssbsse.essbsssbssssssbsse.esssbbbssssssssbse.esssssssdssssssbse.esssjssbssssssbsse.esssssssbbbbbbssse.eeeeeeeeeeeeeemeee"); gLevelName.push("up a tree"); gLevelData.push("eeeeeeeeeeeeeeemee.esssssssbsssssssse.essssccbbbcsssssse.esssbbbbbbbccsssse.essscbbbdbbbbbssse.esscbbbbjbbbbsssse.escbbbbbsbbbcsssse.esbbbbbbsbbbbbcsse.esjssssspssssjbsse.essscbbcscbbbcssse.esscbbbcscbbbbcsse.escbbbbcscbbbbbcse.ebbbbbbcscbbbbbbbe.esssssscscssssssse.esssjsjcscjsjsssse.essssssssssssssssm.esssssssssssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("pockets"); gLevelData.push("eeeeeeeeeeeeeemeee.msssssbdbsbsssjsse.essssssbjbssssssse.ejssssssssssssbsse.essssssssssssbsbse.esssssssssssssbsse.essssbsssssssbsbje.essbjbbsssssssbsse.esssbssspsssssssse.ebbbssssssssssssse.esssssssssssssssse.mbbssbbssssssbssse.essssssssbsssbsbse.essssssssssssjbsje.esssssssssssssbbbe.ejssssssssssssbbse.essssssssjsssssste.eeeeeeeeeeemeeeeee"); gLevelName.push("cave dweller"); gLevelData.push("eeeeeeeeeeeeeeemee.esssssssbsbsssssse.essssssbjbssssssse.esbsssbsbsssssssse.esbssbsbssjbssssse.esbsssbsssssbsssse.esssssssscdssccbse.essssbbbsscssbjbse.essssjsspssscbssbe.esccsssssssbssssse.ejcsseeeeeejesssse.escsseezeeeeesssse.esssseeeemeeesssse.esssssssssssssssse.essssjssssssssssse.esssssssssssssssse.esssssssssssstssse.eeeeeeeeeeeeeemeee"); gLevelName.push("swiss cheese"); gLevelData.push("eeeeezeeeeeeeeeeee.essssbbbbjeessssse.esseesssccseeessse.ejeeessssssszessse.essezsssbbbsseesse.esjsssssbbssssssse.eseeesssssseeessse.eseeessssssjezssse.esbssssspseeeessse.essssssssssssbssse.esssbssseeessbcsse.esssbbsseezssbcsse.esssbbbseeessscsse.esssssjssssezecsse.esseessssssedessse.eseeeessssseeessse.esssssssssssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("entrapment"); gLevelData.push("eeeeezeeeeeeeeeeee.ejssssssjsssssssje.essssssssbsssbssse.esssssssssssssssse.eseeeeesbsbsbsbssz.eseeeeesssstssssse.eseeeeeeeeeeeeeeee.eseeeeesssssssssse.eseeeeespsssssssse.esssssssssssssssse.mjssbsssbsssssssse.essssssssssseeesse.esbssbsbssbeeeesse.essssstsssseeeesse.eeeeeeeeeeeeeeesse.essssssssssseeesje.esssjsssdssssssssm.eeeeeeeeeeeeeeeeee"); gLevelName.push("treasure hunt"); gLevelData.push("eeeeeeeeeeeeeeeeee.essssssbbbbbbbssse.essbsssccjdjbccsse.esbjbsbsbsbsbsssse.essbsssssbjbssssbe.esssssssssbssssbsm.esssssbsssssssbsse.essssbjbsssssssbbe.essssbbbpsssssssse.ebssssbssssssbssse.ejbsssssssssbbbsse.ebssssssbssbbjbbse.essssssbjbssbbbsse.essssbssbsssssbsbe.esssbjbssssssssbbe.mssssbsssbssssbtbe.esssssssbjbssssbse.eeeeeeeeeeeeeeeeee"); gLevelName.push("layers"); gLevelData.push("eeeeeeeemeeeeeeeee.essssjbbbbbjbbjbbe.ebbbbbbbbssjssbsse.ebbsssssbssssssjse.essbbbbbsbbbbbbbbe.esssssjsssssssssje.ebbbbbbbbbbbbbssse.ebsssssbssssssssse.esbbbbbspsssssssse.esssssssssbssssssz.esssssssssssssssse.ejsssssbbsssssssse.ebbbbbssssbbbbbbbe.essdssbbbssssjssse.essssssssssbbbssse.essssssssssssbbbse.esssssssssssssssse.eeeeeeeeemeeeeeeee"); gLevelName.push("boggled"); gLevelData.push("eeeeeeeeeeeeeeeeee.ejssssssjssssjssse.esssssemssbemsbsse.esbjsssbssssssbsse.esbsssbbssssssssse.essessssssssssssse.essmesssssembsssbe.essbbsssssssjbssbe.ejsssssspsssssssje.ebbssbsbssbsssssse.ejsssbbdbsbsssbbbe.esbbssssssbsssbbse.essssssssssssssjse.esssssssssssssssse.essmesssmesssemsse.esbsbsssbbsssbbbse.ejssssssstssssssje.eeeeeeeeeeeeeeeeee"); gLevelName.push("two caves"); gLevelData.push("eeeeeeeeeeeeeeeeee.esssssbssssbssssse.essbssssbsssssbsse.esssjsssjsssjsssse.essseeeeeeeeeeesse.essssmsbsbsbseesse.essssebsbtbsbsesse.essssesbsbsbsessse.essssssspbsseeeese.essssbsssssseemsse.esssbssssssssessse.essssssssssscsssse.esssssbsbbbbssssse.essssjcbbbbjssssse.esssssbbbbbsssssse.esssscccsccccsccse.esjsssssdsssssjsse.eeeeeeeeeeeeeeeeee"); gLevelName.push("dungeon"); gLevelData.push("eeeeeeeeeeeeeeemee.esssssssssssssssse.esbssbsbsjsjbccsse.esbsssssssssbsssse.esbsssbbbsjsseeese.esbsssssjeeeemeese.zsssssssseeeteeese.essssbbbseeeeeeese.essssssspscscscsse.ecccsssssssbbjssse.essssssssssjbbssse.essssssssssbbjssse.essssbbbbbssssssse.esssbssdssbsssssse.essbsjsssssbssssse.msbbbbbbbbbbbsssse.esssssssssssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("vertical maze"); gLevelData.push("eeeeeeeeeeemeeeeee.esssjcsssssssbbbse.esssscssssssssjsse.esssscssbbssssccse.essbscssbbssssssse.essbscsbjscsssssse.essjscscscssssssse.msssscssssssssssse.esssscscpsbbssssse.essssbscsbbbssssse.essssbscsbjcssssse.esssscscsssbssssse.ejssscsscccsssssse.esssscsssssbbsssse.esssscsssssssbssse.esbbscssssssssbbse.ebdbsssssjsssssste.eeeeeeeeeeeeeeeeee"); gLevelName.push("guardians"); gLevelData.push("eeeeeeeeeeeeeeeeee.essssssssbbbbbbsse.esemebbsebbbbbbsse.eseeesbsssssssssse.esebssssjezeeeeese.esejssssssssbbbbbe.essbbbssssssssssse.essbbbsssssseeesse.essssssspsssseeese.eseessssssssssezje.esezesssssssseeese.esejeessssssdeesse.eseeeeseesssbsssse.esssssebbeesbseese.essssebjsmesbeeese.esssssbeeessjzesse.esssssssssssssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("landslide"); gLevelData.push("eeeeeeeeeeeeeeeeee.esssssssssssssssse.esssssbbbbbsssssse.essssbbbbbbbssssse.esssbbbbjbbbbsssse.essbbbbjtjbbbbssse.esbbbbbbsbbbbbbsse.esssscccscccssssse.essssssspsssssssse.esbbbbbbbbbbbbbsse.essssjssssssjsssse.esbbbbbbbbbbbbbsse.esssjsssjssssjssse.esssssssssssssssse.essssssbbbssssssse.essssssbjbssssssse.esssssjbdbjsssssse.eeeeeeeeeeeeeeeeee"); gLevelName.push("hourglass"); gLevelData.push("eeeeeeeeeeeeeeezee.esssssssjsssssssse.essbbbbbbbbbbbbsse.esssbbbbbbbbbbssse.essssbbbjjbbbsssse.esssssbbbbbbssssse.essssssbbbbsssssse.esssssssssssssssse.ejsssssspsssssssje.esssssssssssssssse.essssssbbbbsssssse.esssssbbdbbbssssse.essssbbbbbbbbsssse.esssbbbbbbbbbbssse.essbbjbbbbbbjbbsse.essssssstsssssssse.esssssssssssssssse.eeemeeeeeeeeeeeeee"); } function frameLoop() { if (gMode == SETUP) { var j = 1; while (j < (gGridCols - 1)) { var lName = ("soil_" + gSoilLevel); _root.soil_MCA.attachMovie("soil", lName, gSoilLevel); var lSoil = _root.soil_MCA[lName]; lSoil.pRow = gRow; lSoil.pCol = j; lSoil.pEmpty = false; lSoil.pType = SOIL; place(lSoil); var lSubtype = Math.ceil(Math.random() * 3); lSoil.gotoAndStop(lSubtype); gSoil.push(lSoil); gPoint[gRow][j] = lSoil; gSoilLevel++; j++; } gRow++; if (gRow >= (gGridRows - 1)) { gMode = NORMAL; setUpObjects(); placeOffstage(_root.setup_cover); if (gPlayMode == COMPETITION) { placeOffstage(_root.level_up_MC); placeOffstage(_root.level_down_MC); placeOffstage(_root.skip_level_MC); } else { var i = 1; while (i < 4) { var lName = ("life_" + i); placeOffstage(_root[lName]); i++; } } gPrepareWaitForKey = true; gWaitForKey = false; } } else if (gMode == NORMAL) { if (gPrepareWaitForKey) { gKeyPress = new Array(); gPrepareWaitForKey = false; gWaitForKey = true; _root.keychecker.gotoAndStop("active"); } var lTime = getTimer(); if (gMoveTimer == 0) { gMoveTimer = lTime; gBoulderTimer = lTime; gMonsterTimer = lTime; gZombieTimer = lTime; return(undefined); } if ((gMoveTimer + gMoveInterval) < lTime) { gMoveTimer = lTime; checkKeyQueue(); } updateMonsters(); updateZombies(); updateBoulders(); checkBaddyKill(); checkPlayTimer(); } else if (gMode == DIE) { } else if (gMode == WAIT) { } else if (gMode == SETUPLEVEL) { setUpNextLevel(); } } function playButtonSound() { gHappySound.attachSound("happy_sound"); gHappySound.start(); } function resetScore() { score = 0; scorecheck = "0"; _root.score_display = scorecheck; } function startGame() { gLevel = 1; gLastLevel = gLevelData.length - 1; gLives = 3; resetScore(); _root.level_display = gLevel; setUpBoard(); } function setPracticeMode() { gPlayMode = PRACTICE; } function setCompetitionMode() { gPlayMode = COMPETITION; } function quitGame() { _root.gotoAndStop("startgame"); } function playAgain() { gMode = WAIT; _root.gotoAndStop("startgame"); } function restartLevel() { if (gPlayMode == COMPETITION) { gLives--; updateLives(); if (gLives < 0) { gotoAndStop (8); } else { nextLevel(0); } } else if (gPlayMode == PRACTICE) { resetScore(); nextLevel(0); } } function skipToLevel() { var lWhich = Math.floor(Number(_root.skip_level_MC.skip_to_level)); if ((isNaN(lWhich) || (lWhich == undefined)) || (lWhich < 1)) { lWhich = 1; } else if (gLastLevel < lWhich) { lWhich = gLastLevel; } _root.skip_level_MC.skip_to_level = lWhich; resetScore(); _root.startLevel(lWhich); } function submitScore() { if (gPlayMode == PRACTICE) { return(undefined); } extra = extra + ("Level " + gLevel); stats = stats + ""; loadMovie ((((((((((((("game.swf?score=" + score) + "&scorecheck=") + scorecheck) + "&extra=") + extra) + "&stats=") + stats) + "&scoremode=") + scoremode) + "&gamename=") + gamename) + "&textname=") + textname, _root); } function setUpBoard() { gData = gLevelData[gLevel].split("."); gMode = SETUP; gPoint = new Array(); var i = 0; while (i < gGridRows) { gPoint[i] = new Array(); i++; } gSoilLevel = 1; gSoil = new Array(); initObjects(); gRow = 1; gDigger = _root.diggerMC; gDoor = _root.doorMC; _root.digger._x = 100; gMoveTimer = 0; gBoulderTimer = 0; gMonsterTimer = 0; gZombieTimer = 0; gPlayTimer = 0; } function startLevel(vWhich) { var lChange = (vWhich - gLevel); nextLevel(lChange); } function nextLevel(vChange) { if (vChange != 0) { gLevel = gLevel + vChange; _root.level_display = gLevel; if (gLastLevel < gLevel) { gotoAndStop (8); return(undefined); } gData = gLevelData[gLevel].split("."); } placeOnstage(_root.setup_cover); gMode = SETUPLEVEL; gPrepareWaitForKey = true; gWaitForKey = false; _root.skip_level_MC.skip_to_level = ""; } function initObjects() { initJewels(); initTreasures(); initBoulders(); initConcrete(); initMonsters(); initZombies(); } function setUpNextLevel() { gMode = NORMAL; gDoor.gotoAndStop("closed"); gDoor.pOpen = false; var i = 0; while (i < gGridRows) { var j = 0; while (j < gGridCols) { gPoint[i][j] = undefined; j++; } i++; } initObjects(); var i = 0; while (i < gSoil.length) { var s = gSoil[i]; gPoint[s.pRow][s.pCol] = gSoil[i]; s.pEmpty = false; s.pStartEmpty = false; place(s); var lType = Math.ceil(Math.random() * 3); s.gotoAndStop(lType); i++; } setUpObjects(); placeOffstage(_root.setup_cover); _root.keychecker.gotoAndStop("inactive"); gPrepareWaitForKey = true; gWaitForKey = false; } function setUpObjects() { var i = 0; while (i < gData.length) { var j = 0; while (j < gData[i].length) { var lCode = gData[i].charAt(j); if (lCode == "b") { setUpBoulder(i, j); } else if (lCode == "j") { setUpJewel(i, j); } else if (lCode == "t") { setUpTreasure(i, j); } else if (lCode == "c") { setUpConcrete(i, j); } else if (lCode == "m") { setUpMonster(i, j); } else if (lCode == "z") { setUpZombie(i, j); } else if (lCode == "p") { setUpDigger(i, j); } else if (lCode == "d") { setUpDoor(i, j); } else if (lCode == "e") { setUpSpace(i, j); } j++; } i++; } var i = 0; while (i < gMonster.length) { setMonsterDir(gMonster[i]); i++; } } function initBoulders() { for (var lProp in /boulder_MCA) { _root.boulder_MCA[lProp].removeMovieClip(); } gBoulder = new Array(); gBoulderLevel = 1; gCheckBoulderRow = new Array(); var i = 1; while (i < (gGridRows - 1)) { gCheckBoulderRow[i] = new Array(); i++; } } function setUpBoulder(r, c) { var lName = ("boulder_" + gBoulderLevel); _root.boulder_MCA.attachMovie("boulder", lName, gBoulderLevel); var lBoulder = _root.boulder_MCA[lName]; occupyPoint(lBoulder, r, c); lBoulder.pDrop = false; lBoulder.pType = BOULDER; lBoulder.pBounceDir = 0; lBoulder.pFreeFall = false; lBoulder.pCheckMe = false; lBoulder.pFalling = false; lBoulder.id = gBoulderLevel; gBoulder.push(lBoulder); gBoulderLevel++; } function initJewels() { for (var lProp in /jewel_MCA) { _root.jewel_MCA[lProp].removeMovieClip(); } gJewel = new Array(); gJewelLevel = 1; } function initTreasures() { for (var lProp in /treasure_MCA) { _root.treasure_MCA[lProp].removeMovieClip(); } gTreasure = new Array(); gTreasureLevel = 1; } function setUpJewel(r, c) { var lName = ("jewel_" + gJewelLevel); _root.jewel_MCA.attachMovie("jewel", lName, gJewelLevel); var lJewel = _root.jewel_MCA[lName]; occupyPoint(lJewel, r, c); lJewel.pType = JEWEL; gJewel.push(lJewel); gJewelLevel++; } function setUpTreasure(r, c) { var lName = ("treasure_" + gTreasureLevel); _root.treasure_MCA.attachMovie("treasure", lName, gTreasureLevel); var lTreasure = _root.treasure_MCA[lName]; occupyPoint(lTreasure, r, c); lTreasure.pType = TREASURE; gTreasure.push(lTreasure); gTreasureLevel++; } function initConcrete() { for (var lProp in /concrete_MCA) { _root.concrete_MCA[lProp].removeMovieClip(); } gConcrete = new Array(); gConcreteLevel = 1; } function setUpConcrete(r, c) { var lName = ("concrete_" + gConcreteLevel); _root.concrete_MCA.attachMovie("concrete", lName, gConcreteLevel); var lConcrete = _root.concrete_MCA[lName]; occupyPoint(lConcrete, r, c); lConcrete.pType = CONCRETE; gConcrete.push(lConcrete); gConcreteLevel++; } function initMonsters() { for (var lProp in /monster_MCA) { _root.monster_MCA[lProp].removeMovieClip(); } gMonster = new Array(); gMonsterLevel = 1; } function setUpMonster(r, c) { var lName = ("monster_" + gMonsterLevel); _root.monster_MCA.attachMovie("monster", lName, gMonsterLevel); var lMonster = _root.monster_MCA[lName]; occupyPoint(lMonster, r, c); lMonster.pType = MONSTER; lMonster.pHug = (2 * Math.floor(2 * Math.random())) - 1; lMonster.pMode = NORMAL; gMonster.push(lMonster); gMonsterLevel++; } function initZombies() { for (var lProp in /zombie_MCA) { _root.zombie_MCA[lProp].removeMovieClip(); } gZombie = new Array(); gZombieLevel = 1; } function setUpZombie(r, c) { var lName = ("zombie_" + gZombieLevel); _root.zombie_MCA.attachMovie("zombie", lName, gZombieLevel); var lZombie = _root.zombie_MCA[lName]; occupyPoint(lZombie, r, c); lZombie.pType = ZOMBIE; lZombie.pMode = NORMAL; gZombie.push(lZombie); gZombieLevel++; } function setMonsterDir(vMonster) { var lStart = Math.floor(4 * Math.random()); var i = 0; while (i < 4) { var lDir = turnDir(lStart, i); var lOrtho = dirToOrtho(lDir); var lType = typeAt(vMonster.pRow + lOrtho.r, vMonster.pCol + lOrtho.c); if (lType == EMPTY) { vMonster.pDir = lDir; return; } i++; } } function setUpDigger(r, c) { gDigger.pType = DIGGER; occupyPoint(gDigger, r, c); gDigger.graphic.animation.gotoAndPlay(2); trace("telling digger to play 2"); } function setUpDoor(r, c) { occupyPoint(gDoor, r, c); gDoor.pType = DOOR; gDoor.pOpen = false; } function setUpSpace(r, c) { if (typeAt(r, c) == SOIL) { gPoint[r][c].pEmpty = true; } if (typeAt(r, c) != EMPTY) { placeOffstage(gPoint[r][c]); } gPoint[r][c] = undefined; } function diggerWins() { updateScore(200); gHappySound.attachSound("happy_sound"); gHappySound.start(); nextLevel(1); } function checkPlayTimer() { if (gWaitForKey || (gPrepareWaitForKey)) { return(undefined); } var lTime = getTimer(); if ((gPlayTimer + 5000) < lTime) { updateScore(-1); gPlayTimer = lTime; } } function pressingKey() { if (gKeyDown) { return(undefined); } if (gMode == NORMAL) { if (gPrepareWaitForKey) { } else { if (gWaitForKey) { gKeyPress = new Array(); gWaitForKey = false; gPlayTimer = getTimer(); } checkKeyboard(); } } gKeyDown = true; } function releasedKey() { gKeyDown = false; } function checkKeyboard() { var lKeyCode = Key.getCode(); if (lKeyCode == 37) { gKeyPress.push([0, -1]); } else if (lKeyCode == 39) { gKeyPress.push([0, 1]); } else if (lKeyCode == 38) { gKeyPress.push([-1, 0]); } else if (lKeyCode == 40) { gKeyPress.push([1, 0]); } } function checkKeyQueue() { if (0 < gKeyPress.length) { var k = gKeyPress.shift(); moveDigger(k[0], k[1]); } } function moveObject(vObj, vRows, vCols) { var r = vObj.pRow; var c = vObj.pCol; if ((vObj.pType == MONSTER) && (typeAt(r, c) == DUAL)) { var lZombie = gPoint[r][c].pOccupant[1]; gPoint[r][c] = lZombie; } else { gPoint[r][c] = undefined; } var lNewR = (vObj.pRow + vRows); var lNewC = (vObj.pCol + vCols); occupyPoint(vObj, lNewR, lNewC); } function moveDigger(vRows, vCols) { if (vCols < 0) { gDigger.graphic._xscale = -100; } else if (0 < vCols) { gDigger.graphic._xscale = 100; } var r = (gDigger.pRow + vRows); var c = (gDigger.pCol + vCols); var rOld = gDigger.pRow; var cOld = gDigger.pCol; if (!onStage(r, c)) { return(undefined); } if (typeAt(r, c) == BOULDER) { if (onStage(r, c + vCols) && (typeAt(r, c + vCols) == EMPTY)) { checkAddBoulderAt(r, c); moveObject(gPoint[r][c], vRows, vCols); moveObject(gDigger, vRows, vCols); gPushSound.attachSound("push_sound"); gPushSound.start(); // unexpected jump } return(undefined); } if (typeAt(r, c) == CONCRETE) { return(undefined); } if (typeAt(r, c) == SOIL) { moveObject(gDigger, vRows, vCols); gDigSound.start(); } else if (typeAt(r, c) == EMPTY) { moveObject(gDigger, vRows, vCols); } else if (typeAt(r, c) == JEWEL) { gJewelSound.attachSound("jewel_sound"); gJewelSound.start(); gHappySound.attachSound("happy_sound"); gHappySound.start(); updateScore(gJewelValue); var lJewel = gPoint[r][c]; moveObject(gDigger, vRows, vCols); var lIndex = getOne(gJewel, lJewel); gJewel.splice(lIndex, 1); if (gJewel.length == 0) { openDoor(); } } else if (typeAt(r, c) == TREASURE) { gTreasureSound.attachSound("treasure_sound"); gTreasureSound.start(); gHappySound.attachSound("happy_sound"); gHappySound.start(); updateScore(gTreasureValue); var lTreasure = gPoint[r][c]; moveObject(gDigger, vRows, vCols); var lIndex = getOne(gTreasure, lTreasure); gTreasure.splice(lIndex, 1); } else { if (typeAt(r, c) == DOOR) { if (gDoor.pOpen) { diggerWins(); // unexpected jump } return(undefined); } if (typeAt(r, c) == DUAL) { return(undefined); } } addBouldersToCheck(rOld, cOld, true); gMoveTimer = getTimer(); } function openDoor() { gDoor.gotoAndPlay("open"); gDoor.pOpen = true; gDoorSound.attachSound("door_sound"); gDoorSound.start(); } function checkBaddyKill() { var i = 0; while (i < 4) { var lOrtho = dirToOrtho(i); var lType = typeAt(gDigger.pRow + lOrtho.r, gDigger.pCol + lOrtho.c); if (((lType == MONSTER) || (lType == ZOMBIE)) || (lType == DUAL)) { diggerDies(true); } i++; } } function updateZombies() { var lTime = getTimer(); if ((gZombieTimer + gZombieInterval) < lTime) { var lPlaySound = false; var i = (gZombie.length - 1); for ( ; i >= 0 ; i--) { if (gZombie[i].pMode == NORMAL) { var dr = (gDigger.pRow - gZombie[i].pRow); var dc = (gDigger.pCol - gZombie[i].pCol); if (Math.abs(dr) >= Math.abs(dc)) { var lMoveRow = (dr / Math.abs(dr)); var lType = typeAtExtended(gZombie[i].pRow + lMoveRow, gZombie[i].pCol); if (lType == EMPTY) { addBouldersToCheck(gZombie[i].pRow, gZombie[i].pCol, true); moveObject(gZombie[i], lMoveRow, 0); lPlaySound = true; continue; } if (dc != 0) { var lMoveCol = (dc / Math.abs(dc)); var lType = typeAtExtended(gZombie[i].pRow, gZombie[i].pCol + lMoveCol); if (lType == EMPTY) { addBouldersToCheck(gZombie[i].pRow, gZombie[i].pCol, true); moveObject(gZombie[i], 0, lMoveCol); lPlaySound = true; continue; } } else { // unexpected jump var lMoveCol = (dc / Math.abs(dc)); var lType = typeAtExtended(gZombie[i].pRow, gZombie[i].pCol + lMoveCol); if (lType == EMPTY) { addBouldersToCheck(gZombie[i].pRow, gZombie[i].pCol, true); moveObject(gZombie[i], 0, lMoveCol); lPlaySound = true; } else if (dr != 0) { var lMoveRow = (dr / Math.abs(dr)); var lType = typeAtExtended(gZombie[i].pRow + lMoveRow, gZombie[i].pCol); if (lType == EMPTY) { addBouldersToCheck(gZombie[i].pRow, gZombie[i].pCol, true); moveObject(gZombie[i], lMoveRow, 0); lPlaySound = true; continue; } } else { var lFirstDir = Math.floor(Math.random() * 4); var j = 0; while (j < 4) { var lDir = turnDir(lFirstDir, j); var lOrtho = dirToOrtho(lDir); var lRow = (gZombie[i].pRow + lOrtho.r); var lCol = (gZombie[i].pCol + lOrtho.c); var lType = typeAtExtended(lRow, lCol); if (lType == EMPTY) { addBouldersToCheck(gZombie[i].pRow, gZombie[i].pCol, true); moveObject(gZombie[i], lOrtho.r, lOrtho.c); lPlaySound = true; break; } j++; } lPlaySound = true; continue; if (gZombie[i].pMode == DIE) { if ((gZombie[i].pTimer + gDieTime) < lTime) { var lZombie = gZombie[i]; addBouldersToCheck(lZombie.pRow, lZombie.pCol, true); gPoint[lZombie.pRow][lZombie.pcol] = undefined; var lIndex = getOne(gZombie, lZombie); gZombie.splice(lIndex, 1); lZombie.removeMovieClip(); } } } } } else { var lMoveCol = (dc / Math.abs(dc)); var lType = typeAtExtended(gZombie[i].pRow, gZombie[i].pCol + lMoveCol); if (lType == EMPTY) { addBouldersToCheck(gZombie[i].pRow, gZombie[i].pCol, true); moveObject(gZombie[i], 0, lMoveCol); lPlaySound = true; } else if (dr != 0) { var lMoveRow = (dr / Math.abs(dr)); var lType = typeAtExtended(gZombie[i].pRow + lMoveRow, gZombie[i].pCol); if (lType == EMPTY) { addBouldersToCheck(gZombie[i].pRow, gZombie[i].pCol, true); moveObject(gZombie[i], lMoveRow, 0); lPlaySound = true; continue; } } else { var lFirstDir = Math.floor(Math.random() * 4); var j = 0; while (j < 4) { var lDir = turnDir(lFirstDir, j); var lOrtho = dirToOrtho(lDir); var lRow = (gZombie[i].pRow + lOrtho.r); var lCol = (gZombie[i].pCol + lOrtho.c); var lType = typeAtExtended(lRow, lCol); if (lType == EMPTY) { addBouldersToCheck(gZombie[i].pRow, gZombie[i].pCol, true); moveObject(gZombie[i], lOrtho.r, lOrtho.c); lPlaySound = true; break; } j++; } lPlaySound = true; continue; if (gZombie[i].pMode == DIE) { if ((gZombie[i].pTimer + gDieTime) < lTime) { var lZombie = gZombie[i]; addBouldersToCheck(lZombie.pRow, lZombie.pCol, true); gPoint[lZombie.pRow][lZombie.pcol] = undefined; var lIndex = getOne(gZombie, lZombie); gZombie.splice(lIndex, 1); lZombie.removeMovieClip(); } } } } var lFirstDir = Math.floor(Math.random() * 4); var j = 0; while (j < 4) { var lDir = turnDir(lFirstDir, j); var lOrtho = dirToOrtho(lDir); var lRow = (gZombie[i].pRow + lOrtho.r); var lCol = (gZombie[i].pCol + lOrtho.c); var lType = typeAtExtended(lRow, lCol); if (lType == EMPTY) { addBouldersToCheck(gZombie[i].pRow, gZombie[i].pCol, true); moveObject(gZombie[i], lOrtho.r, lOrtho.c); lPlaySound = true; break; } j++; } lPlaySound = true; } else if (gZombie[i].pMode == DIE) { if ((gZombie[i].pTimer + gDieTime) < lTime) { var lZombie = gZombie[i]; addBouldersToCheck(lZombie.pRow, lZombie.pCol, true); gPoint[lZombie.pRow][lZombie.pcol] = undefined; var lIndex = getOne(gZombie, lZombie); gZombie.splice(lIndex, 1); lZombie.removeMovieClip(); } } } if (lPlaySound) { gZombieSound.attachSound("zombie_sound"); gZombieSound.start(); } gZombieTimer = lTime; } } function removeBaddy(vBaddy) { addBouldersToCheck(vBaddy.pRow, vBaddy.pCol, true); gPoint[vBaddy.pRow][vBaddy.pcol] = undefined; if (vBaddy.pType == MONSTER) { var lIndex = getOne(gMonster, vBaddy); gMonster.splice(lIndex, 1); } else if (vBaddy.pType == ZOMBIE) { var lIndex = getOne(gZombie, vBaddy); gZombie.splice(lIndex, 1); } vBaddy.removeMovieClip(); } function updateMonsters() { var lTime = getTimer(); if ((gMonsterTimer + gMonsterInterval) < lTime) { var lPlaySound = false; var i = (gMonster.length - 1); while (i >= 0) { if (gMonster[i].pMode == NORMAL) { var lMove = new Array(); var lStuck = false; var lHuggingBoundary = false; var lOldDir = gMonster[i].pDir; if ((20 * Math.random()) < 1) { gMonster[i].pHug = gMonster[i].pHug * -1; gMonster[i].pDir = turnDir(gMonster[i].pDir, 2); } var j = 0; while (j < 4) { var lDir = turnDir(gMonster[i].pDir, gMonster[i].pHug * (1 - j)); var lOrtho = dirToOrtho(lDir); var lRow = (gMonster[i].pRow + lOrtho.r); var lCol = (gMonster[i].pCol + lOrtho.c); var lType = typeAtExtended(lRow, lCol); if ((lType == EMPTY) || (lType == ZOMBIE)) { lMove.push({dir:lDir, r:lOrtho.r, c:lOrtho.c}); if (j == 0) { var lDiag = nextDir(lOrtho, gMonster[i].pHug); var lDiagRow = (gMonster[i].pRow + lDiag.r); var lDiagCol = (gMonster[i].pCol + lDiag.c); var lType = typeAtExtended(lDiagRow, lDiagCol); if ((lType == EMPTY) || (lType == ZOMBIE)) { lStuck = true; } else { break; } } else if (!lStuck) { break; } } else if ((lType == OFFSTAGE) && (j == 0)) { lHuggingBoundary = true; } j++; } if (!lStuck) { var lWhich = 0; } else { var lWhich = Math.floor(Math.random() * lMove.length); } gMonster[i].pDir = lMove[lWhich].dir; addBouldersToCheck(gMonster[i].pRow, gMonster[i].pCol, true); moveObject(gMonster[i], lMove[lWhich].r, lMove[lWhich].c); if (typeAtExtended(gMonster[i].pRow + lMove[lWhich].r, gMonster[i].pCol + lMove[lWhich].c) == MONSTER) { gMonster[i].pHug = gMonster[i].pHug * -1; gMonster[i].pDir = turnDir(gMonster[i].pDir, 2); } else if (lHuggingBoundary && (gMonster[i].pDir == lOldDir)) { gMonster[i].pDir = turnDir(gMonster[i].pDir, 2); } lPlaySound = true; } else if (gMonster[i].pMode == DIE) { if ((gMonster[i].pTimer + gDieTime) < lTime) { var lMonster = gMonster[i]; addBouldersToCheck(lMonster.pRow, lMonster.pCol, true); gPoint[lMonster.pRow][lMonster.pcol] = undefined; var lIndex = getOne(gMonster, lMonster); gMonster.splice(lIndex, 1); lMonster.removeMovieClip(); } } i--; } if (lPlaySound) { gMonsterSound.attachSound("monster_sound"); gMonsterSound.start(); } gMonsterTimer = lTime; } } function typeAtExtended(r, c) { if (!onStageMonster(r, c)) { return(OFFSTAGE); } if (gPoint[r][c] == undefined) { return(EMPTY); } return(gPoint[r][c].pType); } function typeAt(r, c) { if (gPoint[r][c] == undefined) { return(EMPTY); } return(gPoint[r][c].pType); } function turnDir(vDir, vChange) { vDir = vDir + vChange; while (vDir < 0) { vDir = vDir + 4; } while (3 < vDir) { vDir = vDir - 4; } return(vDir); } function dirToOrtho(vDir) { if (vDir == 0) { return({r:-1, c:0}); } if (vDir == 1) { return({r:0, c:1}); } if (vDir == 2) { return({r:1, c:0}); } return({r:0, c:-1}); } function boulderMove(vBoulder) { var r = vBoulder.pRow; var c = vBoulder.pCol; var lChoice = new Array(); if (onStage(r + 1, c) && (typeAt(r + 1, c) == EMPTY)) { return({r:1, c:0}); } if (typeAt(r + 1, c) == BOULDER) { if ((onStage(r + 1, c - 1) && (typeAt(r, c - 1) == EMPTY)) && (typeAt(r + 1, c - 1) == EMPTY)) { lChoice.push({r:1, c:-1}); } if ((onStage(r + 1, c + 1) && (typeAt(r, c + 1) == EMPTY)) && (typeAt(r + 1, c + 1) == EMPTY)) { lChoice.push({r:1, c:1}); } if (lChoice.length == 0) { return(0); } if (lChoice.length == 1) { return(lChoice[0]); } if (lChoice.length == 2) { var lBounceDir = gPoint[r + 1][c].pBounceDir; if (lBounceDir == 0) { lBounceDir = (2 * Math.floor(Math.random() * 2)) - 1; gPoint[r + 1][c].pBounceDir = lBounceDir; } else { gPoint[r + 1][c].pBounceDir = gPoint[r + 1][c].pBounceDir * -1; } var lIndex = ((gPoint[r + 1][c].pBounceDir + 1) / 2); return(lChoice[lIndex]); } } else { return(0); } } function startBaddyDying(vBaddy) { if (vBaddy.pMode == DIE) { return(undefined); } vBaddy.pMode = DIE; vBaddy.pTimer = getTimer(); gHappySound.attachSound("happy_sound"); gHappySound.start(); updateScore(250); vBaddy.gotoAndPlay("squish"); } function updateBoulders() { var lTime = getTimer(); if ((gBoulderTimer + gBoulderInterval) < lTime) { var lDiggerDies = false; var lBoulderLands = false; var i = (gGridRows - 2); while (i >= 0) { var k = (gCheckBoulderRow[i].length - 1); while (k >= 0) { var lBoulder = gCheckBoulderRow[i][k]; lBoulder.pFreeFall = false; var lMove = boulderMove(lBoulder); if (lMove != 0) { if (i == (gGridRows - 3)) { lBoulderLands = true; } else { lBoulder.pFalling = true; } if (lMove.c == 0) { lBoulder.pFreeFall = true; } else { lBoulderLands = true; } addBouldersToCheck(i, lBoulder.pCol, false); gCheckBoulderRow[i].splice(k, 1); gCheckBoulderRow[i + 1].push(lBoulder); moveObject(lBoulder, lMove.r, lMove.c); var lBelow = typeAt(lBoulder.pRow + 1, lBoulder.pCol); if (lBelow == DIGGER) { lDiggerDies = true; lBoulderLands = true; } else if ((lBelow == MONSTER) || (lBelow == ZOMBIE)) { startBaddyDying(gPoint[lBoulder.pRow + 1][lBoulder.pCol]); lBoulderLands = true; } else if (lBelow == DUAL) { startBaddyDying(gPoint[lBoulder.pRow + 1][lBoulder.pCol].pOccupant[0]); startBaddyDying(gPoint[lBoulder.pRow + 1][lBoulder.pCol].pOccupant[1]); lBoulderLands = true; } else if (!lBoulderLands) { if ((lBelow == SOIL) || (lBelow == CONCRETE)) { lBoulderLands = true; } } } else { if (lBoulder.pFalling) { var lBelow = typeAt(lBoulder.pRow + 1, lBoulder.pCol); if (lBelow == DIGGER) { lDiggerDies = true; } else if ((lBelow == MONSTER) || (lBelow == ZOMBIE)) { startBaddyDying(gPoint[lBoulder.pRow + 1][lBoulder.pCol]); } else if (lBelow == DUAL) { startBaddyDying(gPoint[lBoulder.pRow + 1][lBoulder.pCol].pOccupant[0]); startBaddyDying(gPoint[lBoulder.pRow + 1][lBoulder.pCol].pOccupant[1]); } } gCheckBoulderRow[i].splice(k, 1); lBoulder.pCheckMe = false; lBoulder.pFalling = false; } k--; } i--; } if (lDiggerDies) { diggerDies(false); } else if (!lBoulderLands) { var i = (gGridRows - 2); while (i >= 0) { var k = (gCheckBoulderRow[i].length - 1); while (k >= 0) { var lBoulder = gCheckBoulderRow[i][k]; if (lBoulder.pFreeFall) { var lBelow = typeAt(lBoulder.pRow + 1, lBoulder.pCol); if (lBelow != EMPTY) { if (lBelow != BOULDER) { lBoulderLands = true; break; } if (!gPoint[lBoulder.pRow + 1][lBoulder.pCol].pFreeFall) { lBoulderLands = true; break; } } } if (lBoulderLands) { break; } k--; } if (lBoulderLands) { break; } i--; } } if (lBoulderLands) { gBoulderSound.attachSound("boulder_sound"); gBoulderSound.start(); } } gBoulderTimer = lTime; } function addBouldersToCheck(r, c, vOmni) { var lCol = (c - 1); while ((c + 1) >= lCol) { checkAddBoulderAt(r - 1, lCol); lCol++; } if (vOmni) { checkAddBoulderAt(r, c - 1); checkAddBoulderAt(r, c + 1); } } function checkAddBoulderAt(r, c) { if (typeAt(r, c) == BOULDER) { var lBoulder = gPoint[r][c]; if (!lBoulder.pCheckMe) { gCheckBoulderRow[r].push(lBoulder); lBoulder.pCheckMe = true; } } } function dieDone() { if (gPlayMode == COMPETITION) { gLives--; updateLives(); if (gLives < 0) { gotoAndStop (8); } else { nextLevel(0); } } else if (gPlayMode == PRACTICE) { resetScore(); nextLevel(0); } } function updateLives() { var i = 1; while (i < 4) { var lName = ("life_" + i); if (gLives >= i) { placeOnstage(_root[lName]); } else { placeOffstage(_root[lName]); } i++; } } function diggerDies(vMonster) { if (vMonster) { gDiggerDieSound.attachSound("digger_die_sound"); gDiggerDieSound.start(); gDiggerDieFrame = "monster"; } else { gSquashSound.attachSound("squash_sound"); gSquashSound.start(); gDiggerDieFrame = "squish"; } gMode = DIE; gDieTimer = getTimer(); } function occupyPoint(vObj, r, c) { var lDualFlag = false; if (typeAt(r, c) != EMPTY) { if (typeAt(r, c) == SOIL) { gPoint[r][c].pEmpty = true; } if ((vObj.pType == MONSTER) && (typeAt(r, c) == ZOMBIE)) { var lOccupant = gPoint[r][c]; gPoint[r][c] = {pType:DUAL, pOccupant:[vObj, lOccupant]}; lDualFlag = true; } else { placeOffstage(gPoint[r][c]); } } if (!lDualFlag) { gPoint[r][c] = vObj; } vObj.pRow = r; vObj.pCol = c; place(vObj); } function onStage(r, c) { if ((r < 1) || (r >= (gGridRows - 1))) { return(false); } if ((c < 1) || (c >= (gGridCols - 1))) { return(false); } return(true); } function onStageMonster(r, c) { if ((r < 0) || (r >= gGridRows)) { return(false); } if ((c < 0) || (c >= gGridCols)) { return(false); } return(true); } function place(vObj) { vObj._x = vObj.pCol * gGridWidth; vObj._y = vObj.pRow * gGridHeight; if ((vObj == gDigger) || (vObj == gDoor)) { vObj._x = vObj._x + _root.soil_MCA._x; vObj._y = vObj._y + _root.soil_MCA._y; } } function nextDir(vDir, vChange) { var r0 = vDir.r; var c0 = vDir.c; var d = vChange; if (r0 == -1) { if (d == c0) { return({r:0, c:c0}); } var c1 = (c0 + d); return({r:-1, c:c1}); } if (r0 == 1) { if (d == (-1 * c0)) { return({r:0, c:c0}); } var c1 = (c0 - d); return({r:1, c:c1}); } var r1 = (c0 * d); return({r:r1, c:c0}); } function updateScore(vChange) { score = score + vChange; scorecheck = String(Number(scorecheck) + vChange); if (score < 0) { score = 0; scorecheck = "0"; } _root.score_display = scorecheck; } function odd(x) { var x2 = (x / 2); if (x2 == Math.floor(x2)) { return(false); } return(true); } function randomFromRange(vMin, vMax) { if (vMin >= vMax) { return(vMin); } return(vMin + (Math.random() * (vMax - vMin))); } function placeOffstage(vObj) { with (vObj) { if (_x >= 0) { _x = _x - 1000; } } } function placeOnstage(vObj) { with (vObj) { if (_x < 0) { _x = _x + 1000; } } } function getOne(array, x) { var i = 0; while (i < array.length) { if (x == array[i]) { return(i); } i++; } return(-1); } function debug() { gLetFrameLoop = true; } init(); stop();
Instance of Symbol 63 MovieClip in Frame 1
onClipEvent (load) { totalFileSize = _root.getBytesTotal(); startTime = getTimer(); startBytes = _root.getBytesLoaded(); this._xscale = 0; } onClipEvent (enterFrame) { bytesLoaded = _root.getBytesLoaded(); amountLoaded = bytesLoaded / totalFileSize; percentLoaded = int(100 * amountLoaded); this._xscale = percentLoaded; timeSoFar = getTimer() - startTime; speed = bytesLoaded / timeSoFar; bytesLeft = totalFileSize - bytesLoaded; timeLeft = (bytesLeft / 1000) * (speed / 1000); speed = int(10 * speed) / 10; _root.timeMessage = int(timeLeft) + " seconds remaining"; if (amountLoaded >= 1) { _root.gotoAndStop("startgame"); } }
Instance of Symbol 108 MovieClip "keycheckerOLD" in Frame 4
/* no clip actions */
Instance of Symbol 111 MovieClip "framelooper" in Frame 4
onClipEvent (enterFrame) { _root.frameLoop(); }
Frame 6
startGame(); stop();
Symbol 17 MovieClip [soil] Frame 1
stop();
Symbol 29 MovieClip [boulder] Frame 1
stop();
Symbol 38 MovieClip [monster] Frame 4
gotoAndPlay (1);
Symbol 38 MovieClip [monster] Frame 11
_root.removeBaddy(this); stop();
Symbol 56 MovieClip [zombie] Frame 4
gotoAndPlay (1);
Symbol 56 MovieClip [zombie] Frame 10
_root.removeBaddy(this); stop();
Symbol 72 Button
on (release) { _root.playButtonSound(); _root.setPracticeMode(); _root.gotoAndStop("play"); }
Symbol 76 Button
on (release) { _root.playButtonSound(); _root.setCompetitionMode(); _root.gotoAndStop("play"); }
Symbol 84 MovieClip Frame 1
stop();
Symbol 84 MovieClip Frame 7
stop();
Symbol 105 MovieClip Frame 1
stop();
Symbol 105 MovieClip Frame 6
if ((_root.gDiggerDieFrame == undefined) || (_root.gDiggerDieFrame == "")) { gotoAndPlay (2); } else { gotoAndPlay(_root.gDiggerDieFrame); _root.gDiggerDieFrame = ""; }
Symbol 105 MovieClip Frame 10
_root.dieDone(); stop();
Symbol 105 MovieClip Frame 19
_root.dieDone(); stop();
Instance of Symbol 105 MovieClip "animation" in Symbol 106 MovieClip Frame 1
/* no clip actions */
Symbol 110 MovieClip Frame 1
stop();
Instance of Symbol 109 MovieClip in Symbol 110 MovieClip Frame 4
onClipEvent (keyDown) { _root.pressingKey(); } onClipEvent (keyUp) { _root.releasedKey(); }
Symbol 119 Button
on (release) { _root.resetScore(); _root.playButtonSound(); _root.nextLevel(1); }
Symbol 124 Button
on (release) { _root.resetScore(); _root.playButtonSound(); _root.nextLevel(-1); }
Symbol 130 Button
on (release) { _root.playButtonSound(); _root.skipToLevel(); }
Symbol 138 Button
on (release) { _root.playButtonSound(); _root.quitGame(); }
Symbol 145 Button
on (release) { _root.playButtonSound(); _root.restartLevel(); }
Symbol 152 Button
on (release) { _root.playButtonSound(); _root.playAgain(); }
Symbol 156 Button
on (release) { _root.playButtonSound(); _root.submitScore(); }

Library Items

Symbol 1 Sound [squash_sound]
Symbol 2 Sound [boulder_sound]
Symbol 3 Sound [push_sound]
Symbol 4 Sound [monster_sound]
Symbol 5 Sound [treasure_sound]
Symbol 6 Sound [jewel_sound]
Symbol 7 Sound [happy_sound]
Symbol 8 Sound [door_sound]
Symbol 9 Sound [dig_sound]
Symbol 10 Sound [digger_die_sound]
Symbol 11 Sound [zombie_sound]
Symbol 12 Sound [theme_sound]Used by:Timeline
Symbol 13 GraphicUsed by:17
Symbol 14 GraphicUsed by:17
Symbol 15 GraphicUsed by:17
Symbol 16 GraphicUsed by:17
Symbol 17 MovieClip [soil]Uses:13 14 15 16
Symbol 18 GraphicUsed by:24
Symbol 19 GraphicUsed by:24
Symbol 20 GraphicUsed by:24 46
Symbol 21 GraphicUsed by:24
Symbol 22 GraphicUsed by:24
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClip [jewel]Uses:18 19 20 21 22 23
Symbol 25 GraphicUsed by:29
Symbol 26 GraphicUsed by:29
Symbol 27 FontUsed by:28
Symbol 28 EditableTextUses:27Used by:29
Symbol 29 MovieClip [boulder]Uses:25 26 28
Symbol 30 GraphicUsed by:38
Symbol 31 GraphicUsed by:38
Symbol 32 GraphicUsed by:38
Symbol 33 GraphicUsed by:38
Symbol 34 GraphicUsed by:38
Symbol 35 GraphicUsed by:38
Symbol 36 GraphicUsed by:38
Symbol 37 GraphicUsed by:38
Symbol 38 MovieClip [monster]Uses:30 31 32 33 34 35 36 37
Symbol 39 GraphicUsed by:40
Symbol 40 MovieClip [concrete]Uses:39
Symbol 41 GraphicUsed by:46
Symbol 42 GraphicUsed by:46
Symbol 43 GraphicUsed by:46
Symbol 44 GraphicUsed by:46
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClip [treasure]Uses:41 42 20 43 44 45
Symbol 47 GraphicUsed by:56
Symbol 48 GraphicUsed by:56
Symbol 49 GraphicUsed by:56
Symbol 50 GraphicUsed by:56
Symbol 51 GraphicUsed by:56
Symbol 52 GraphicUsed by:56
Symbol 53 GraphicUsed by:56
Symbol 54 GraphicUsed by:56
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClip [zombie]Uses:47 48 49 50 51 52 53 54 55
Symbol 57 GraphicUsed by:Timeline
Symbol 58 GraphicUsed by:59
Symbol 59 MovieClipUses:58Used by:Timeline
Symbol 60 GraphicUsed by:61 158
Symbol 61 MovieClipUses:60Used by:Timeline
Symbol 62 GraphicUsed by:63
Symbol 63 MovieClipUses:62Used by:Timeline
Symbol 64 GraphicUsed by:Timeline
Symbol 65 FontUsed by:66 126 133
Symbol 66 EditableTextUses:65Used by:Timeline
Symbol 67 GraphicUsed by:Timeline
Symbol 68 GraphicUsed by:Timeline
Symbol 69 GraphicUsed by:72
Symbol 70 GraphicUsed by:72
Symbol 71 GraphicUsed by:72
Symbol 72 ButtonUses:69 70 71Used by:Timeline
Symbol 73 GraphicUsed by:76
Symbol 74 GraphicUsed by:76
Symbol 75 GraphicUsed by:76
Symbol 76 ButtonUses:73 74 75Used by:Timeline
Symbol 77 MovieClipUsed by:Timeline
Symbol 78 GraphicUsed by:84
Symbol 79 GraphicUsed by:84
Symbol 80 GraphicUsed by:84
Symbol 81 GraphicUsed by:84
Symbol 82 GraphicUsed by:84
Symbol 83 GraphicUsed by:84
Symbol 84 MovieClipUses:78 79 80 81 82 83Used by:Timeline
Symbol 85 GraphicUsed by:105
Symbol 86 GraphicUsed by:105
Symbol 87 GraphicUsed by:105
Symbol 88 GraphicUsed by:105
Symbol 89 GraphicUsed by:105
Symbol 90 GraphicUsed by:105
Symbol 91 GraphicUsed by:105
Symbol 92 GraphicUsed by:105
Symbol 93 GraphicUsed by:105
Symbol 94 GraphicUsed by:105
Symbol 95 GraphicUsed by:105
Symbol 96 GraphicUsed by:105
Symbol 97 GraphicUsed by:105
Symbol 98 GraphicUsed by:105
Symbol 99 GraphicUsed by:105
Symbol 100 GraphicUsed by:105
Symbol 101 GraphicUsed by:105
Symbol 102 GraphicUsed by:105
Symbol 103 GraphicUsed by:105
Symbol 104 GraphicUsed by:105
Symbol 105 MovieClipUses:85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104Used by:106
Symbol 106 MovieClipUses:105Used by:107
Symbol 107 MovieClipUses:106Used by:Timeline
Symbol 108 MovieClipUsed by:Timeline
Symbol 109 MovieClipUsed by:110
Symbol 110 MovieClipUses:109Used by:Timeline
Symbol 111 MovieClipUsed by:Timeline
Symbol 112 GraphicUsed by:Timeline
Symbol 113 FontUsed by:114
Symbol 114 EditableTextUses:113Used by:Timeline
Symbol 115 GraphicUsed by:Timeline
Symbol 116 GraphicUsed by:119
Symbol 117 GraphicUsed by:119
Symbol 118 GraphicUsed by:119
Symbol 119 ButtonUses:116 117 118Used by:120
Symbol 120 MovieClipUses:119Used by:Timeline
Symbol 121 GraphicUsed by:124
Symbol 122 GraphicUsed by:124
Symbol 123 GraphicUsed by:124
Symbol 124 ButtonUses:121 122 123Used by:125
Symbol 125 MovieClipUses:124Used by:Timeline
Symbol 126 EditableTextUses:65Used by:132
Symbol 127 GraphicUsed by:130
Symbol 128 GraphicUsed by:130
Symbol 129 GraphicUsed by:130
Symbol 130 ButtonUses:127 128 129Used by:132
Symbol 131 GraphicUsed by:132
Symbol 132 MovieClipUses:126 130 131Used by:Timeline
Symbol 133 EditableTextUses:65Used by:Timeline
Symbol 134 GraphicUsed by:Timeline
Symbol 135 GraphicUsed by:138
Symbol 136 GraphicUsed by:138
Symbol 137 GraphicUsed by:138
Symbol 138 ButtonUses:135 136 137Used by:139
Symbol 139 MovieClipUses:138Used by:Timeline
Symbol 140 GraphicUsed by:141
Symbol 141 MovieClipUses:140Used by:Timeline
Symbol 142 GraphicUsed by:145
Symbol 143 GraphicUsed by:145
Symbol 144 GraphicUsed by:145
Symbol 145 ButtonUses:142 143 144Used by:146
Symbol 146 MovieClipUses:145Used by:Timeline
Symbol 147 GraphicUsed by:148
Symbol 148 MovieClipUses:147Used by:Timeline
Symbol 149 GraphicUsed by:152
Symbol 150 GraphicUsed by:152
Symbol 151 GraphicUsed by:152
Symbol 152 ButtonUses:149 150 151Used by:Timeline
Symbol 153 GraphicUsed by:156
Symbol 154 GraphicUsed by:156
Symbol 155 GraphicUsed by:156
Symbol 156 ButtonUses:153 154 155Used by:Timeline
Symbol 157 GraphicUsed by:Timeline
Symbol 158 MovieClipUses:60Used by:Timeline

Instance Names

"soil_MCA"Frame 4Symbol 77 MovieClip
"concrete_MCA"Frame 4Symbol 77 MovieClip
"jewel_MCA"Frame 4Symbol 77 MovieClip
"treasure_MCA"Frame 4Symbol 77 MovieClip
"boulder_MCA"Frame 4Symbol 77 MovieClip
"doorMC"Frame 4Symbol 84 MovieClip
"diggerMC"Frame 4Symbol 107 MovieClip
"monster_MCA"Frame 4Symbol 77 MovieClip
"zombie_MCA"Frame 4Symbol 77 MovieClip
"keycheckerOLD"Frame 4Symbol 108 MovieClip
"keychecker"Frame 4Symbol 110 MovieClip
"framelooper"Frame 4Symbol 111 MovieClip
"level_up_MC"Frame 6Symbol 120 MovieClip
"level_down_MC"Frame 6Symbol 125 MovieClip
"skip_level_MC"Frame 6Symbol 132 MovieClip
"quit_game_MC"Frame 6Symbol 139 MovieClip
"life_1"Frame 6Symbol 141 MovieClip
"life_2"Frame 6Symbol 141 MovieClip
"life_3"Frame 6Symbol 141 MovieClip
"restart_level_MC"Frame 6Symbol 146 MovieClip
"setup_cover"Frame 6Symbol 148 MovieClip
"animation"Symbol 106 MovieClip Frame 1Symbol 105 MovieClip
"graphic"Symbol 107 MovieClip Frame 1Symbol 106 MovieClip

Special Tags

ExportAssets (56)Timeline Frame 1Symbol 1 as "squash_sound"
ExportAssets (56)Timeline Frame 1Symbol 2 as "boulder_sound"
ExportAssets (56)Timeline Frame 1Symbol 3 as "push_sound"
ExportAssets (56)Timeline Frame 1Symbol 4 as "monster_sound"
ExportAssets (56)Timeline Frame 1Symbol 5 as "treasure_sound"
ExportAssets (56)Timeline Frame 1Symbol 6 as "jewel_sound"
ExportAssets (56)Timeline Frame 1Symbol 7 as "happy_sound"
ExportAssets (56)Timeline Frame 1Symbol 8 as "door_sound"
ExportAssets (56)Timeline Frame 1Symbol 9 as "dig_sound"
ExportAssets (56)Timeline Frame 1Symbol 10 as "digger_die_sound"
ExportAssets (56)Timeline Frame 1Symbol 11 as "zombie_sound"
ExportAssets (56)Timeline Frame 1Symbol 12 as "theme_sound"
ExportAssets (56)Timeline Frame 1Symbol 17 as "soil"
ExportAssets (56)Timeline Frame 1Symbol 24 as "jewel"
ExportAssets (56)Timeline Frame 1Symbol 29 as "boulder"
ExportAssets (56)Timeline Frame 1Symbol 38 as "monster"
ExportAssets (56)Timeline Frame 1Symbol 40 as "concrete"
ExportAssets (56)Timeline Frame 1Symbol 46 as "treasure"
ExportAssets (56)Timeline Frame 1Symbol 56 as "zombie"
ExportAssets (56)Timeline Frame 3Symbol 12 as "theme_sound"
ExportAssets (56)Timeline Frame 6Symbol 12 as "theme_sound"

Labels

"loader"Frame 1
"startgame"Frame 3
"play"Frame 6
"gameover"Frame 8
"eat"Symbol 38 MovieClip [monster] Frame 1
"squish"Symbol 38 MovieClip [monster] Frame 5
"eat"Symbol 56 MovieClip [zombie] Frame 1
"squish"Symbol 56 MovieClip [zombie] Frame 5
"closed"Symbol 84 MovieClip Frame 1
"open"Symbol 84 MovieClip Frame 4
"squish"Symbol 105 MovieClip Frame 7
"monster"Symbol 105 MovieClip Frame 11
"inactive"Symbol 110 MovieClip Frame 1
"active"Symbol 110 MovieClip Frame 4

Dynamic Text Variables

idSymbol 28 EditableText"1"
timeMessageSymbol 66 EditableText""
score_displaySymbol 114 EditableText"0"
skip_to_levelSymbol 126 EditableText""
level_displaySymbol 133 EditableText"1"




http://swfchan.com/5/21821/info.shtml
Created: 27/5 -2019 14:02:55 Last modified: 27/5 -2019 14:02:55 Server time: 29/04 -2024 16:45:18