Lode Runner v1.00c.2
(1) AI version 2 (2) Add God-Mode Hot-key
Cette révision appartient à :
+77
-82
@@ -16,11 +16,11 @@ function showScoreTable(_dataId, _curScoreInfo, _callbackFun, _waitTime)
|
||||
|
||||
if(_curScoreInfo) {
|
||||
recordId = updateScoreInfo();
|
||||
if(recordId < 0) {
|
||||
if(recordId < 0) {
|
||||
if(_callbackFun) _callbackFun();
|
||||
return; //don't need update score
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
createCanvas2();
|
||||
createScoreStage();
|
||||
@@ -123,8 +123,8 @@ function showScoreTable(_dataId, _curScoreInfo, _callbackFun, _waitTime)
|
||||
canvas2.height = canvasY;
|
||||
|
||||
//Set canvas top left position
|
||||
var left = ((screenX - canvasX)/2|0),
|
||||
top = ((screenY - canvasY)/2|0);
|
||||
var left = ((screenX1 - canvasX)/2|0),
|
||||
top = ((screenY1 - canvasY)/2|0);
|
||||
canvas2.style.left = (left>0?left:0) + "px";
|
||||
canvas2.style.top = (top>0?top:0) + "px";
|
||||
canvas2.style.position = "absolute";
|
||||
@@ -153,8 +153,8 @@ function showScoreTable(_dataId, _curScoreInfo, _callbackFun, _waitTime)
|
||||
|
||||
function getNameStartPos(nameLength, itemId)
|
||||
{
|
||||
var x = (4+(MAX_HISCORE_NAME_LENGTH-nameLength)/2)*tileW;
|
||||
var y = (itemId * 1.2 + 5) * tileH;
|
||||
var x = (4+(MAX_HISCORE_NAME_LENGTH-nameLength)/2)*tileWScale;
|
||||
var y = (itemId * 1.2 + 5) * tileHScale;
|
||||
|
||||
return { x: x, y: y };
|
||||
}
|
||||
@@ -164,28 +164,28 @@ function showScoreTable(_dataId, _curScoreInfo, _callbackFun, _waitTime)
|
||||
var title = "LODE RUNNER " + ((_dataId == 1)?"2":"1") + " HIGH SCORES";
|
||||
var barTile;
|
||||
|
||||
drawText((NO_OF_TILES_X-title.length)/2*tileW, 0.5*tileH, title, scoreStage);
|
||||
drawText(0.5*tileW, 3*tileH, "NO", scoreStage);
|
||||
drawText(7*tileW, 3*tileH, "NAME", scoreStage);
|
||||
drawText(14.5*tileW, 3*tileH, "LEVEL SCORE", scoreStage);
|
||||
|
||||
drawText((NO_OF_TILES_X-title.length)/2*tileWScale, 0.5*tileHScale, title, scoreStage);
|
||||
drawText(0.5*tileWScale, 3*tileHScale, "NO", scoreStage);
|
||||
drawText(7*tileWScale, 3*tileHScale, "NAME", scoreStage);
|
||||
drawText(14.5*tileWScale, 3*tileHScale, "LEVEL SCORE", scoreStage);
|
||||
|
||||
for(var x = 0; x < NO_OF_TILES_X; x++) {
|
||||
barTile = new createjs.Bitmap(preload.getResult("ground"));
|
||||
barTile.setTransform(x * tileW, 4.5*tileH , tileScale, tileScale);
|
||||
barTile.setTransform(x * tileWScale, 4.5*tileHScale , tileScale, tileScale);
|
||||
scoreStage.addChild(barTile);
|
||||
}
|
||||
|
||||
|
||||
for(var i = 0; i < MAX_HISCORE_RECORD; i++) {
|
||||
var pos = getNameStartPos(hiScoreInfo[i].n.length, i);
|
||||
|
||||
drawText(0.5*tileW, pos.y, ("0"+(i+1)).slice(-2) + ".", scoreStage);
|
||||
drawText(0.5*tileWScale, pos.y, ("0"+(i+1)).slice(-2) + ".", scoreStage); //no
|
||||
|
||||
if(hiScoreInfo[i].s > 0) {
|
||||
if(hiScoreInfo[i].n.length > 0) {
|
||||
drawText(pos.x, pos.y, hiScoreInfo[i].n, scoreStage);
|
||||
drawText(pos.x, pos.y, hiScoreInfo[i].n, scoreStage, "D"); //name
|
||||
}
|
||||
drawText(15.5*tileW, pos.y, ("00"+hiScoreInfo[i].l).slice(-3), scoreStage);
|
||||
drawText(20.5*tileW, pos.y, ("000000"+hiScoreInfo[i].s).slice(-7), scoreStage);
|
||||
drawText(15.5*tileWScale, pos.y, ("00"+hiScoreInfo[i].l).slice(-3), scoreStage); //level
|
||||
drawText(20.5*tileWScale, pos.y, ("000000"+hiScoreInfo[i].s).slice(-7), scoreStage); //score
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -200,7 +200,7 @@ function showScoreTable(_dataId, _curScoreInfo, _callbackFun, _waitTime)
|
||||
clearTimeout(timeOutHandler);
|
||||
closeScoreTable();
|
||||
//}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function restoreKeyDownHandler()
|
||||
@@ -215,19 +215,19 @@ function showScoreTable(_dataId, _curScoreInfo, _callbackFun, _waitTime)
|
||||
var savedKeyDownHander, hiScoreTicker;
|
||||
var cursor;
|
||||
|
||||
init();
|
||||
initInput();
|
||||
|
||||
function init()
|
||||
function initInput()
|
||||
{
|
||||
name = []; //string
|
||||
name = []; //array of char
|
||||
nameText = []; //text object
|
||||
changeKeyDownHandler();
|
||||
|
||||
var pos = getNameStartPos(0, recordId);
|
||||
cursor = new createjs.Sprite(textData, "FLASH");
|
||||
cursor.setTransform(pos.x-tileW/2, pos.y , tileScale, tileScale);
|
||||
cursor.setTransform(pos.x-tileWScale/2, pos.y , tileScale, tileScale);
|
||||
scoreStage.addChild(cursor);
|
||||
|
||||
changeKeyDownHandler();
|
||||
hiScoreTicker = createjs.Ticker.on("tick", scoreStage);
|
||||
}
|
||||
|
||||
@@ -250,7 +250,7 @@ function showScoreTable(_dataId, _curScoreInfo, _callbackFun, _waitTime)
|
||||
cutTailSpace();
|
||||
redrawName();
|
||||
|
||||
//uodate name for score info
|
||||
//update name for score info
|
||||
hiScoreInfo[recordId].n = array2String(name);
|
||||
setHiScoreInfo();
|
||||
|
||||
@@ -281,77 +281,72 @@ function showScoreTable(_dataId, _curScoreInfo, _callbackFun, _waitTime)
|
||||
{
|
||||
var pos = getNameStartPos(name.length, recordId);
|
||||
removeNameText();
|
||||
nameText = drawText(pos.x, pos.y, array2String(name), scoreStage);
|
||||
nameText = drawText(pos.x, pos.y, array2String(name), scoreStage, "D");
|
||||
|
||||
//change cursor position
|
||||
if(name.length > 0) cursor.x = pos.x + curPos * tileW;
|
||||
else cursor.x = pos.x - tileW/2;
|
||||
if(name.length > 0) cursor.x = pos.x + curPos * tileWScale;
|
||||
else cursor.x = pos.x - tileWScale/2;
|
||||
|
||||
//move cursor to top
|
||||
moveChild2Top(scoreStage, cursor);
|
||||
}
|
||||
|
||||
|
||||
function handleHiScoreName(event)
|
||||
{
|
||||
if(!event){ event = window.event; } //cross browser issues exist
|
||||
|
||||
|
||||
//if(event.shiftKey) {
|
||||
//} else if (event.ctrlKey) {
|
||||
//} else
|
||||
{
|
||||
var code = event.keyCode;
|
||||
|
||||
if(curPos >= MAX_HISCORE_NAME_LENGTH &&
|
||||
code != KEYCODE_BKSPACE && code != KEYCODE_LEFT && code != KEYCODE_ENTER)
|
||||
{
|
||||
soundPlay("beep"); //wrong key code
|
||||
return false;
|
||||
}
|
||||
|
||||
switch(true) {
|
||||
case (code >=65 && code <= 90): // A ~ Z
|
||||
case (code >= 97 && code <= 122): //a ~ z
|
||||
if( code > 90) code -= 32;
|
||||
name[curPos++] = String.fromCharCode(code);
|
||||
break;
|
||||
case (code == KEYCODE_DOT): //'.'
|
||||
name[curPos++] = ".";
|
||||
break;
|
||||
case (code == KEYCODE_DASH): //'-'
|
||||
name[curPos++] = "-";
|
||||
break;
|
||||
case (code == KEYCODE_SPACE): //space
|
||||
if(curPos == 0) {
|
||||
soundPlay("beep"); //wrong key code
|
||||
break;
|
||||
}
|
||||
name[curPos++] = " ";
|
||||
break;
|
||||
case (code == KEYCODE_BKSPACE): //backspace
|
||||
if(curPos == 0) break;
|
||||
name.splice(--curPos, 1);
|
||||
break;
|
||||
case (code == KEYCODE_LEFT): //LEFT
|
||||
if(curPos > 0) curPos--;
|
||||
break;
|
||||
case (code == KEYCODE_RIGHT): //RIGHT
|
||||
if(curPos < name.length) curPos++;
|
||||
break;
|
||||
case (code == KEYCODE_ENTER): //ENTER
|
||||
if(name.length > 0) inputFinish();
|
||||
else soundPlay("beep");
|
||||
default:
|
||||
//debug(code);
|
||||
if(code > 32) soundPlay("beep"); //wrong key code
|
||||
break;
|
||||
}
|
||||
|
||||
redrawName();
|
||||
|
||||
var code = event.keyCode;
|
||||
|
||||
if(curPos >= MAX_HISCORE_NAME_LENGTH &&
|
||||
code != KEYCODE_BKSPACE && code != KEYCODE_LEFT && code != KEYCODE_ENTER)
|
||||
{
|
||||
soundPlay("beep"); //wrong key code
|
||||
return false;
|
||||
}
|
||||
|
||||
switch(true) {
|
||||
case (code >= 48 && code <= 57): // 0 ~ 9
|
||||
if(curPos == 0) { soundPlay("beep"); break; } //first char except numbers
|
||||
name[curPos++] = String.fromCharCode(code);
|
||||
break;
|
||||
case (code >=65 && code <= 90): // A ~ Z
|
||||
case (code >= 97 && code <= 122): //a ~ z
|
||||
if( code > 90) code -= 32;
|
||||
name[curPos++] = String.fromCharCode(code);
|
||||
break;
|
||||
case (code == KEYCODE_DOT): //'.'
|
||||
if(curPos == 0) { soundPlay("beep"); break; } //first char except '.'
|
||||
name[curPos++] = ".";
|
||||
break;
|
||||
case (code == KEYCODE_DASH || code == KEYCODE_HYPHEN || code == KEYCODE_SUBTRACT): //'-'
|
||||
if(curPos == 0) { soundPlay("beep"); break; } //first char except '-'
|
||||
name[curPos++] = "-";
|
||||
break;
|
||||
case (code == KEYCODE_SPACE): //space
|
||||
if(curPos == 0) { soundPlay("beep"); break; } //first char except space
|
||||
name[curPos++] = " ";
|
||||
break;
|
||||
case (code == KEYCODE_BKSPACE): //backspace
|
||||
if(curPos == 0) break;
|
||||
name.splice(--curPos, 1);
|
||||
break;
|
||||
case (code == KEYCODE_LEFT): //LEFT
|
||||
if(curPos > 0) curPos--;
|
||||
break;
|
||||
case (code == KEYCODE_RIGHT): //RIGHT
|
||||
if(curPos < name.length) curPos++;
|
||||
break;
|
||||
case (code == KEYCODE_ENTER): //ENTER
|
||||
if(name.length > 0) inputFinish(true); //async
|
||||
else soundPlay("beep");
|
||||
default:
|
||||
//debug(code);
|
||||
if(code > 32) soundPlay("beep"); //wrong key code
|
||||
break;
|
||||
}
|
||||
|
||||
redrawName();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur