2016-02-01 27 views
-5

因此,我的這部分js正在移動蛇。我如何加速我的蛇?

if(direction === "right"){ 
 
    newX ++; 
 
    } else if(direction === "left"){ 
 
    newX --; 
 
    } else if(direction === "up"){ 
 
    newY --; 
 
    } else if(direction === "down"){ 
 
    newY ++;

,當我試圖通過2遞增它,當得分超過10,它打破了它的身體。

Here's the code pen link

+1

您的codepen不起作用。它甚至沒有HTML畫布。我們需要更多的代碼。 – zero298

+0

@ zero298我添加了html和css。對於那個很抱歉。 – Gamaliel

+1

您可以清除當前的'setInterval'並以較短的時間間隔重新啓動它。 –

回答

0

由於@MikeC表明,只需修改你的速度。您可以定義此功能:在比賽開始

​​

然後,你調用這個函數:

function startGame(){ 
    . 
    . 
    . 

    runGame(speed); 

} 

,後來,當你需要提高速度:

if (speed>10) { 
    speed -= 10; 
    runGame(speed); 
} 

http://codepen.io/anon/pen/xZJRdQ

我修改了你的codepen,使其工作並得到18分:)你能打敗我嗎?

0

處理的情況下,當newX溢出過去的邊界(我假設是10):

newX = (newX + 2 < 10) ? newX + 2 : 10; 

這將檢查是否添加2〜newX將使它超過10.如果它不,則反而會加重2.如果確實如此,那麼它會簡單地設置newX〜10