我想在純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