我正在制作一个点击器类型的游戏,其中一个部分就像我的。当您的Mininglv <10时,我希望它具有50%的机会,当您单击它时,它会掉落1个青铜。我是HTML的新手,不确定math.random works
的用法。我想稍后再添加一种升级机会的方法,因此也许我应该将第一个掉落机会定义为BronzeDropChance。
我已经尝试过了:
var Minechance = Math.random();
function Miningaction(){
if (MiningCexp < NextMaxMiningExp && Mininglv < 10){
MiningCexp = MiningCexp + 1;
if(Minechance < 0.5)
Bronze = Bronze + 1
document.getElementById("Bronze").innerHTML = Bronze;
document.getElementById("MiningCexp").innerHTML = MiningCexp;
}else{
这是我其余的挖掘代码:
var Bronze = 0;
var Silver = 0;
var Gold = 0;
var Diamond = 0;
var Mining = 1;
var Mininglv = 1;
var MiningCexp = 0;
var MiningMexp = 100;
var NextMaxMiningExp = MiningMexp;
var Minechance = Math.random();
function Miningaction(){
if (MiningCexp < NextMaxMiningExp && Mininglv < 10){
MiningCexp = MiningCexp + 1;
if(Minechance < 0.5)
Bronze = Bronze + 1
document.getElementById("Bronze").innerHTML = Bronze;
document.getElementById("MiningCexp").innerHTML = MiningCexp;
}else{
Mininglv = Mininglv + 1
MiningCexp = 0
Mining = Mining + 1
NextMaxMiningExp = NextMaxMiningExp * 1.5;
document.getElementById('MiningMexp').innerHTML =
NextMaxMiningExp;
document.getElementById('Mininglv').innerHTML = Mininglv;
document.getElementById('MiningCexp').innerHTML = MiningCexp;
document.getElementById('Mining').innerHTML = Mining;
}
}
有关如何设置格式的HTML标记,以供参考:(我并没有针对每种技能的按钮,仅使用一个按钮来测试该技能是否有效)
Mining: Lv <span id="Mininglv">1</span> <span id="MiningCexp">0</span> /
<span id="MiningMexp">100</span>
<br />
Fishing: Lv <span id="Fishinglv">1</span> <span
id="FishingCexp">0</span> / <span id="FishingMexp">100</span>
<br />
<button onclick="Miningaction()">Click Me!</button>
<br />
</div>
我希望在点击exp按钮后总是上升1,并且在开采10以下的lv时,有50%的机会掉落青铜,因此它会被添加到库存中。
但是,无论我单击多少,实际输出都不会掉任何青铜。我确定格式错误。
答案 0 :(得分:2)
MineChance
最初设置为Math.Random()
,这将为您提供0到1之间的值,但在整个程序中它将一直保持该值。如果您在语句中将if语句更改为if(Math.random() < 0.5)
或将MineChance
重置为新的Math.random()
(如果您希望将其用作变量),否则它将保持为与它在启动时初始化为。