我目前正在制作二十一点游戏。在我的游戏中,当用户单击“停留”时,该程序假定是查找离21岁以下的人,用户或房屋。当我单击停留时,程序中什么也没有发生。任何帮助将不胜感激。感谢您的阅读。
onEvent("stayButton","clicked", function() {
if (userTotal == 21) {
setText("userArea","Player total is: " + userTotal +" Player wins!");
}
houseTotal();
while (houseTotal < 17) {
appendItem( houseHand,deck.pop() );
houseHandTotal();
}
if (houseTotal > 21) {
setText("houseArea","House busts, User wins");
var userWins = betAmount * 1.2;
TotalMoney = TotalMoney + userWins;
}
setText("houseArea",houseHand + "house total is: " + houseTotal);
if ( 21 - userTotal < 21-houseTotal && userHandValue != "bust" && houseHandValue != "bust")
{
setText("userArea","Player total is: " + userTotal +" Player wins!");
}
else if (21 - userTotal > 21-houseTotal && userHandValue != "bust" && houseHandValue != "bust")
{
setText("userArea","Player total is: " + userTotal +" Player loses!");
}
});
答案 0 :(得分:0)
假设onEvent
是addEventListener
的包装,那么正确的事件名称是click
,而不是clicked
。
其他次要清理点:
===
和!==
进行相等性比较,而不要使用==
和!=
以避免类型转换方面的细微差别。'
的单引号。onEvent('stayButton', 'click', () => {
if (userTotal === 21)
setText('userArea', 'Player total is: ' + userTotal + ' Player wins!');
houseTotal();
while (houseTotal < 17) {
appendItem(houseHand, deck.pop());
houseHandTotal();
}
if (houseTotal > 21) {
setText('houseArea', 'House busts, User wins');
let userWins = betAmount * 1.2;
TotalMoney = TotalMoney + userWins;
}
setText('houseArea', houseHand + 'house total is: ' + houseTotal);
if (21 - userTotal < 21 - houseTotal && userHandValue !== 'bust' && houseHandValue !== 'bust')
setText('userArea', 'Player total is: ' + userTotal + ' Player wins!');
else if (21 - userTotal > 21 - houseTotal && userHandValue !== 'bust' && houseHandValue !== 'bust')
setText('userArea', 'Player total is: ' + userTotal + ' Player loses!');
});