2017-01-31 113 views
1

我只是做了這個小遊戲,用戶可以點擊。他可以看到他的點擊,就像'cookieclicker'一樣。Javascript遊戲

一切工作,除了一件事情。

我試圖縮短我的代碼,通過使代碼行變量,我重複了很多次。

document.getElementById("hp-bar-p").innerHTML = hp; 

這很好地工作,以顯示用戶已完成的點擊。但是當我嘗試將它變成一個變量時,它不起作用。 例子:

var hpdraw = document.getElementById("hp-bar-p").innerHTML = hp; 

是否有一個原因,爲什麼我不能使它成爲一個變量縮短的文本?或者我做錯了什麼?

下整個的javascript:

<style> 
    #clicker { 
     margin: 0 auto; 
     background-color: white; 
     width: 500px; 
     height: 500px; 
    } 
</style> 
<link rel="stylesheet" type="text/css" href="../../style.css"> 

<html> 
    <body> 
     <div id="clicker"> 
      <button id="clickerbutton" onclick="onKlik()"> Click me!</button> 
       <p id="clicktekst"></p><br> 
       <p id="hp-bar-p"></p><br> 
       <p id="kills"></p><br> 
      <button id="upgrade" onclick="upgradeKlik()">upgrade</button> 

     </div> 

    </body> 
</html> 


<script> 
    var mouseclick = 1; 
    var clickcounter = 0; 
    var i = 0; 
    var hp = 10; 
    var kills = 0; 

    var killdraw = document.getElementById("kills").innerHTML = kills; 
    var hpdraw = document.getElementById("hp-bar-p").innerHTML = hp; 
    document.getElementById("clicktest").innerHTML = clickcounter; 
    document.getElementById("hp-bar-p").innerHTML = hp; 




    function onKlik() { 
     clickcounter += mouseclick; 
     hp -= mouseclick; 
     document.getElementById("clicktekst").innerHTML = clickcounter; 
     document.getElementById("hp-bar-p").innerHTML = hp; 

     if (hp<=0) { 
      kills ++; 
      hp = 10; 
      document.getElementById("hp-bar-p").innerHTML = hp; 
      document.getElementById("kills").innerHTML = kills; 
      // hpdraw; 
      // killdraw; 

     } 
    } 

    function upgradeKlik() { 
     while (i == 0 && clickcounter >= 10) { 
      //mouseclick += 1; 
      mouseclick ++; 
      clickcounter -= 10; 
      document.getElementById("clicktekst").innerHTML = clickcounter; 
      break; 
     } 
    } 
</script> 
+0

你試圖做什麼並不完全清楚。你會用什麼'hpdraw'等?他們在你的代碼中出現的唯一地方是對他們的註釋引用,而不是對他們做任何事情。 –

+0

你沒有在任何地方使用'hpDraw'。它有什麼意義呢? – BadHorsie

+0

爲了縮短代碼,所以我不必每次都使用document.getElementById。我在解釋我的問題方面很糟糕,而且我正在努力改進它! – Hendry

回答

1

從您的評論回答我「?你​​會用hpdraw和這樣的是什麼」問題:

爲了縮短代碼,所以我不必每次都使用document.getElementById。

這條線:

var hpdraw = document.getElementById("hp-bar-p").innerHTML = hp; 

hpdraw結果的document.getElementById("hp-bar-p").innerHTML = hp,這是hp值。

你可能想:

var hpdraw = document.getElementById("hp-bar-p"); 
hpdraw.innerHTML = hp 

...然後要稍後再更新hpdraw.innerHTML = "something else"

+0

非常感謝您的解釋! – Hendry