在Javascript中,未调用我的onEvent,而其他onEvent被调用

时间:2019-04-11 18:29:56

标签: javascript blackjack

我目前正在制作二十一点游戏。在我的游戏中,当用户单击“停留”时,该程序假定是查找离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!");
  }

});

1 个答案:

答案 0 :(得分:0)

假设onEventaddEventListener的包装,那么正确的事件名称是click,而不是clicked

其他次要清理点:

  • 此外,使用===!==进行相等性比较,而不要使用==!=以避免类型转换方面的细微差别。
  • 最后,大部分是风格上的JS代码,更倾向于使用字符串'的单引号。
  • 不是特定于JS的,而是尝试对代码中的新行使用逻辑方法以使其可读。
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!');
});
相关问题