我想在纯Javascript中构建一个游戏作为练习。为什么比赛时间缩短一半而不是2秒?
游戏的目的是在计时器用完之前回答一个随机的数学练习。时间代表了一个落在某人头上的蛋;如果你正确地回答了所有数学题,你会重新开始,但时间会缩短2秒。
我的问题:在游戏的第一阶段,时间按预期工作,但到第二阶段时间缩短一半。是什么导致了这种情况发生?
相关代码:
var gameTime;
//function responsible for starting The game
function StartGame() {
...
...
...
checkLevel();
getNewTime();
speed=getNewSpeed();
dh=setInterval("move(egg)",gameTime);
...
}//End start game
function checkLevel() {
if(document.getElementById("begginer").checked==true) {
fillNumbervalue(true);
gameTime=30;
}
else {
fillNumbervalue(false);
gameTime=60;
} //End else
}//End of checkLevel
function getNewSpeed() {
return (distanceBetweenEggToYudale/gameTime); //distanceBetweenEggToYudale=310
}//End function
//if player pass level this function will get down by 2 seconds the time
function getNewTime() {
for(var i=0;i<levelCount;i++)
gameTime-=2;
}//end getNewTime
//function responsible for moving The Egg
function move(eggBall) {
eggBall.imagePositionY=eggBall.imagePositionY+(gameTime/1000)*speed;
//image postion=0 at the beginning
eggBall.element.style.top=eggBall.imagePositionY+"px";
...
...
}//End move
//when the player push the answer button
function answerValidation() {
var answers=new Array();
for(var i=0;i<result.length;i++)
answers[i]=document.getElementById("txtAnswer"+(i+1)).value;
if(result[0]!=answers[0] || result[1]!=answers[1] || result[2]!=answers[2])
gameOverScreen();
else
{
score++;
levelCount++;
init(); //Initial the egg position onload of the body element
clearTxtRows();
gameTime-=2;
StartGame();
}//End else
}//End anwser validation
我知道这个问题加载代码,所以我会很感激,如果有人可以提供帮助。
你的努力很好。请处理你的打字和语法。有一个清晰而简洁的问题,包括写一个精心编写的*个人编辑*问题。这有助于他人看到你是认真的。 :) – 2011-05-29 18:34:34
此外,标签它的家庭作业的荣誉。 :D – 2011-05-29 18:36:17