【发布时间】:2023-12-18 09:50:01
【问题描述】:
我使用 JavaScript 创建了这个简单的直接投注计算器。 它让我可以计算,如果它是中奖彩票,奖金将是多少。
它是如何工作的? 首先我将输入 moneyLine 号码,它可以是任何 3 位数字,然后我输入下注金额。
现在,如果下注热门,则 moneyLine 可以为负 (-),如果下注失败,则可以为正 (+)。
请看下面的代码: 对于测试建议,我使用任何 -110 或 110,然后使用任何下注金额。但它实际上可以是任何选择的 moneyLine 和 betAmount。
// Single Straight Sports Bet Calculator
function betCalculator(moneyLine) {
var odds;
var betAmount = +prompt("Enter Bet Amount");
if (moneyLine >= 0) {
odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1;
} else {
odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1;
} return ((odds * betAmount).toFixed(2));
}
alert(betCalculator(+prompt("Enter Money Line")));
// Single Straight Sports Bet Calculator
function betCalculator(moneyLine) {
var odds;
var betAmount = +prompt("Enter Bet Amount");
if (moneyLine >= 0) {
odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1;
} else {
odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1;
} return ((odds * betAmount).toFixed(2));
}
alert(betCalculator(+prompt("Enter Money Line")));
这就是我想要完成的。 我的愿望是创建一个使用上述公式的 Parlay 计算器,这将允许我输入一个投注金额和几条赔率线,而不仅仅是一个。
过关投注是将两个或多个单独的赌注联系在一起以获得高额奖金的单一赌注。因此,过关彩票可以有两个或更多团队。
我还想做的是能够在表单而不是弹出窗口上输入这些数字(moneyLine 和 betAmount)。
我尝试自己做,但无济于事。不知何故,它没有显示结果。
// True Odds Parlay Bets
const myForm= document.getElementById("my-form")
var odds;
var moneyLine
, trueOdds=
{ 'moneyLine1 >= 0': (odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1)
, 'moneyLine2 >= 0': (odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1)
, 'moneyLine3 >= 0': (odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1)
, 'moneyLine4 >= 0': (odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1)
, 'moneyLine5 >= 0': (odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1)
, 'moneyLine6 >= 0': (odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1)
, 'moneyLine7 >= 0': (odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1)
, 'moneyLine8 >= 0': (odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1)
, 'moneyLine9 >= 0': (odds = moneyLine >= 0 ? (moneyLine / 100) + 1 : (100 / Math.abs(moneyLine)) + 1)
};
myForm.onsubmit = e=>e.preventDefault(); // disable form submit
myForm.oninput = betCalculator;
function betCalculator() {
let bet = myForm.betAmount.valueAsNumber, odds = trueOdds[(myForm.moneyLine1.value + '_' + myForm.moneyLine2.value + '_' + myForm.moneyLine3.value + '_' + myForm.moneyLine4.value + '_' + myForm.moneyLine5.value + '_' + myForm.moneyLine6.value + '_' + myForm.moneyLine7.value + '_' + myForm.moneyLine8.value + '_' + myForm.moneyLine9.value)];
// This code is used to get rid of "NaN"
if ( isNaN(bet) || isNaN(odds) ) {
return 0;
}
myForm.result.value = '" ' + '$ '+(odds * bet).toFixed(2) + ' "'
}
betCalculator()
fieldset { margin-top: 1em;}
label { display: inline-block; width: 6em; }
input[type="radio"] {
-webkit-appearance: checkbox; /* Chrome, Safari, Opera */
-moz-appearance: checkbox; /* Firefox */
-ms-appearance: checkbox;
}
<head>
<title>True Odds Parlay Bet Calculator</title>
<link rel="stylesheet" type="text/css" href="trueoddstyle.css">
</head>
<body>
<h2>True Odds Parlay Bet Calculator</h2>
<p>
Useful for both <b>Negative "-"</b> and/or <b>Positive "+"</b> Money Lines including Single Straight Bets!
</p>
<form action="" id="my-form">
<fieldset>
<legend>Bet Amount :</legend>
<input type="number" name="betAmount" step=any min=0>
</fieldset>
<fieldset>
<legend>Team Respective Money Line :</legend>
<input type="number" name="moneyLine1" step=any min=0>
<input type="number" name="moneyLine2" step=any min=0>
<input type="number" name="moneyLine3" step=any min=0>
<input type="number" name="moneyLine4" step=any min=0>
<input type="number" name="moneyLine5" step=any min=0>
<input type="number" name="moneyLine6" step=any min=0>
<input type="number" name="moneyLine7" step=any min=0>
<input type="number" name="moneyLine8" step=any min=0>
<input type="number" name="moneyLine9" step=any min=0>
</fieldset>
<fieldset>
<legend>Payout :</legend>
<output name="result" value=''></output>
<br><br>
<input type="reset" value="Reset Calculator!"</input>
</fieldset>
</form>
</body>
详情请查看sn-p代码。 非常感谢您的帮助。
【问题讨论】:
-
所以您想要一个允许人们输入这些数字并为他们计算的交互式应用程序?学习react,或者jquery,或者vue
-
@TKol。谢谢。但我知道有些人可以用 JavaScript 做到这一点。我只是想向他们学习。
-
没关系,你不需要使用 react 或 jquery 或 vue,但你肯定需要弄清楚一些事情,因为你这里的问题太笼统了。你不会得到你的问题的答案,因为你的问题的答案是关于如何使用 javascript 制作用户界面的完整讲座。您的问题不需要 * 答案,您需要一本书。
-
@TKoL,我在True Odds Parlay Calculator based on Global Sportsbook Odds! 使用简单的表格和公式创建了类似的计算器。我只想在 JavaScript 中做类似的事情
-
查看我修改后的第一个版本:)
标签: javascript calculator