我正在重构一段时间以javascript编写的黑色插卡游戏。原始版本是非常程序化的,看起来很业余,所以我重做它的OOP风格 - 这是我第一次尝试编写OOP。我已经包含了一个链接到我的代码的摘录,似乎没有工作。我只包含了最相关的代码,因为整个脚本长达数百行。
基本上,我有一个名为Betting的原型,其中包含我游戏所需的所有基于投注的功能。我有另一个名为GameUI的原型,它记录了我在游戏中的所有点击事件 - “交易”,“点击”,停留,投注等行为......
请查看我在Betting中写的名为updateWager()的函数。我创建了它并在GameUI.wagerEvents()中调用它。我无法得到this.playerWager的值,而不是它的初始值为零。我知道没有错:
this.playerWager += parseInt(value, 10);
因为它在我以前的代码版本中有效,并且我已经让它在这段代码中工作,但只是在变量赋值上使用全局范围,显然我不希望这样。我可以得到任何帮助来解决这个问题会很棒。
谢谢!
答案 0 :(得分:0)
@Aravind,你是对的,除了gameUI Betting引用需要调整语法。
function GameUI(){
//var betObj = new Betting();
this.betObj = new Betting(); // it should be this instead
this.registerDomElements();
this.registerWagerEvents();
this.registerDealButtonEvent();
this.registerHitButtonEvent();
this.registerStayButtonEvent();
betObj.renderStartingTotalCash();
}