Lode Runner - Total Recall (v2.01a.3)

Cette révision appartient à :
simon_hung
2015-07-02 13:38:33 +08:00
Parent 8b86be66c5
révision 01086520d1
156 fichiers modifiés avec 13137 ajouts et 1816 suppressions
+54 -14
Voir le fichier
@@ -4,6 +4,7 @@ var runnerDebug = 0;
function pressShiftKey(code)
{
/* cheat key code disable 5/16/2015
switch(code) {
case KEYCODE_PERIOD: //SHIFT-. = '>', change to next level
shiftLevelNum = 1;
@@ -29,6 +30,7 @@ function pressShiftKey(code)
if(runnerDebug) debugKeyPress(code);
break;
}
*/
}
function pressCtrlKey(code)
@@ -39,20 +41,32 @@ function pressCtrlKey(code)
break;
case KEYCODE_C: //CTRL-C : copy current level
copyLevelMap = levelData[curLevel-1];
showTipsText("COPY MAP", 0);
copyLevelPassed = 1; //means copy from exists level
showTipsText("COPY MAP", 1500);
break;
case KEYCODE_K: //CTRL-K : repeat actions On/Off
toggleRepeatAction();
repeatActionIconObj.updateRepeatActionImage();
break;
case KEYCODE_R: //CTRL-R : abort game
runnerLife = 1;
gameState = GAME_RUNNER_DEAD;
break;
case KEYCODE_X: //CTRL-X
toggleTrapTile();
break;
// case KEYCODE_Z: //CTRL-Z, toggle god mode
// toggleGodMode();
// break;
case KEYCODE_S: //CTRL-S, toggle sound
if( (soundOff ^= 1) == 1) {
soundDig.stop();
soundFall.stop();
showTipsText("SOUND OFF", 0);
soundStop(soundDig);
soundStop(soundFall);
showTipsText("SOUND OFF", 1500);
} else {
showTipsText("SOUND ON", 0);
showTipsText("SOUND ON", 1500);
}
soundIconObj.updateSoundImage(); //toggle sound On/Off icon
break;
case KEYCODE_LEFT: //SHIFT + <- : speed down
setSpeed(-1);
@@ -101,23 +115,42 @@ function debugKeyPress(code)
}
}
var repeatAction = 0; //1: keyboard repeat on, 0: keyboard repeat Off
var repeatActionPressed = 0;
var godMode = 0, godModeKeyPressed = 0;
function initHotKeyVariable()
{
godMode = 0;
godModeKeyPressed = 0;
repeatActionPressed = 0;
}
function toggleRepeatAction()
{
if( (repeatAction ^= 1) == 1) {
//showTipsText("REPEAT ACTIONS ON", 0, "APPLE-II MODE");
showTipsText("REPEAT ACTIONS ON", 2500);
} else {
//showTipsText("REPEAT ACTIONS OFF", 0, "NES MODE");
showTipsText("REPEAT ACTIONS OFF", 2500);
}
if(gameState != GAME_START) repeatActionPressed=1; //player change the "repeatAction" Mode at running
setRepeatAction();
}
function toggleGodMode()
{
godModeKeyPressed = 1; //means player press the god-mod hot-key
sometimePlayInGodMode = 1; // 12/23/2014
godMode ^= 1;
if(godMode) {
showTipsText("GOD MODE ON", 0);
showTipsText("GOD MODE ON", 1500);
} else {
showTipsText("GOD MODE OFF", 0);
showTipsText("GOD MODE OFF", 1500);
}
}
@@ -127,7 +160,7 @@ function setSpeed(v)
if(speed < 0) speed = 0;
if(speed >= speedMode.length) speed = speedMode.length-1;
createjs.Ticker.setFPS(speedMode[speed]);
showTipsText(speedText[speed], 0);
showTipsText(speedText[speed], 1500);
}
function helpCallBack() //help complete call back
@@ -165,10 +198,10 @@ function pressKey(code)
case KEYCODE_ESC: //help & pause
if(gameState == GAME_PAUSE) {
gameResume();
showTipsText("", 0); //clear text
showTipsText("", 1000); //clear text
} else {
gamePause();
showTipsText("PAUSE", 1); //display "PAUSE"
showTipsText("PAUSE", 0); //display "PAUSE"
//helpObj.showHelp(helpCallBack);
}
break;
@@ -176,7 +209,7 @@ function pressKey(code)
if(playMode == PLAY_CLASSIC) {
menuIconDisable(1);
gamePause();
showScoreTable(playData-1, null, function() { menuIconEnable(); gameResume();});
showScoreTable(playData, null, function() { menuIconEnable(); gameResume();});
} else {
keyAction = ACT_UNKNOWN;
}
@@ -222,7 +255,7 @@ function handleKeyDown(event)
gameState == GAME_START || gameState == GAME_RUNNING)
{
if(recordMode != RECORD_PLAY && playMode != PLAY_AUTO) {
pressKey(event.keyCode);
pressKey(event.keyCode);
}
}
@@ -241,5 +274,12 @@ function handleKeyDown(event)
if(event.keyCode >= 112 && event.keyCode <= 123) return true; //F1 ~ F12
return false;
}
}
function handleKeyUp(event)
{
if(repeatAction) return true;
if(!event){ event = window.event; }
if(recordKeyCode == event.keyCode && keyPressed != -1) keyPressed = 0;
return true;
}