[英]Two same variables with different values in If and else statement
我應該只將投資回報和投資回報 率更改為payback1和payback2嗎? 還是有更好的方法呢?
function play() {
var bet = document.getElementById("bet").value;
var pips = Math.round((Math.random()*5)+1);
if(pips == 1|| pips == 3 || pips == 5){
document.getElementById("answer").innerHTML = "No pay";
}
else if(pips == 2|| pips == 4) {
var payback = 1.25*bet;
document.getElementById("answer").innerHTML = "You'll receive: "+payback;
}
else {
var payback = 1.50*bet;
document.getElementById("answer").innerHTML = "You'll receive: "+payback;
}
}
第15行:“回報”已定義。
我認真嘗試了一個明智的頭銜。
您可以只在開始時聲明它,然后在if / else上對其進行修改:
function play() {
var bet = document.getElementById("bet").value;
var pips = Math.round((Math.random()*5)+1);
var payback;
if(pips == 1|| pips == 3 || pips == 5){
document.getElementById("answer").innerHTML = "No pay";
}
else if(pips == 2|| pips == 4) {
payback = 1.25*bet;
document.getElementById("answer").innerHTML = "You'll receive: "+bet;
}
else {
payback = 1.50*bet;
document.getElementById("answer").innerHTML = "You'll receive: "+bet;
}
}
除了聲明問題之外,為您的下注程序獲得未標准化的分布是否很可愛? 您的1
和6
與其他數字沒有相同的機會。 機會只有其余的1/2。
請查看您所用的分布以及更多更好的分布值。
var i, count = {}, v; for (i = 0; i < 12000; i++) { v = Math.round((Math.random() * 5) + 1); count[v] = (count[v] || 0) + 1; } document.write('<pre>' + JSON.stringify(count, 0, 4) + '</pre>'); count = {}; for (i = 0; i < 12000; i++) { v = Math.floor((Math.random() * 6) + 1); count[v] = (count[v] || 0) + 1; } document.write('<pre>' + JSON.stringify(count, 0, 4) + '</pre>');
您應該可以內聯並跳過變量聲明:
document.getElementById("answer").innerHTML = "You'll receive: "+(1.25*bet);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.