【发布时间】:2014-08-01 22:18:30
【问题描述】:
我正在涉足 javascript,到目前为止,我一直在尝试做的事情相对成功。虽然我意识到我正在做的大部分事情可能都做得不正确,或者效率低下。
对于我的第一个“项目”,我尝试制作一款基本游戏。单击镐,它会为您的总岩石增加 +1。击中 5 块石头后,您可以购买一把铲子,它会开始以每秒一颗的速度为您生成石头。我目前不得不将其设置为每秒 1,因为 1 以下似乎不起作用。
我的代码(它仍然有些混乱,因为我已经调整了很多):
HTML:
Total Rocks: <input id="txtNumber" type="text" value="0" onfocus="this.blur()" style=" border:none; text-align:center; background-color:transparent;" />
<br>
<img style="border:0;" src="http://img2.wikia.nocookie.net/__cb20130308043142/minecraftpocketedition/images/6/6d/Pickaxe_1.jpeg" onclick="javascript:add()">
<br>
Rocks per second: <input id="perSec" type="text" value="0" onfocus="this.blur()" style="width:30px; border:none; text-align:center; background-color:transparent;" />
<br>
Shovel(<input id="shovelCount" type="text" value="0" onfocus="this.blur()" style="width:20px; border:none; text-align:center; background-color:transparent;" />): 5 rocks
<input id="shovelBuy" type="button" value="Buy" onclick="javascript:shovel()"/>
</body>
Javascript:
var totalRocks = 0;
var rocksPerSec = 0;
function increment() {
var txtNumber = document.getElementById("txtNumber");
var newNumber = parseInt(txtNumber.value, 10) + rocksPerSec;
txtNumber.value = newNumber;
}
setInterval(function(){increment();}, 1000);
function add()
{
var txtNumber = document.getElementById("txtNumber");
var newNumber = parseInt(txtNumber.value, 10) + 1;
txtNumber.value = newNumber;
}
function shovel()
{
var txtNumber = document.getElementById("txtNumber");
var value = parseInt(txtNumber.value, 10);
if(value >= 5){
var newNumber = parseInt(txtNumber.value, 10) - 5;
txtNumber.value = newNumber;
var shovelCount = document.getElementById("shovelCount");
var newCount = parseInt(shovelCount.value, 10) + 1;
shovelCount.value = newCount;
rocksPerSec = rocksPerSec +1;
return false;
}
}
我的问题:为什么我不能将计数器 (rockPerSec) 增加一个十进制值?
【问题讨论】:
-
你可以在任何地方使用 parseFloat 而不是 parseInt ;)
-
我几乎一无所知。我实际上是在拼凑代码并调整它们,直到我理解它们的作用。我会查查的。谢谢。
标签: javascript html