JavaScript游戏 - 如何自动调用对象的新实例
JavaScript game - how can I call new instances of the object automatically
我正在努力学习JavaScript组合而不是继承,我正在努力解决一些概念。一个是,游戏向用户呈现随机数量的狗,然后提示他们输入有多少只狗。
如果他们做对了,他们会得到一分,然后会看到另一只狗。
我无法弄清楚的是每次如何产生新的狗。以下代码是简化的代码设置:
var dog = function dog(state) {
return {
create: function create() {
console.log('Create the dogs');
this.dogIsCreated();
},
dogIsCreated: function dogIsCreated() {
console.log('How many dogs do you see?');
}
}
}
var questionOne = dog({number: 3}).create();
一旦他们选择了正确的号码,我需要有效地拨打:
var questionTwo = dog({number: 6}).create();
数字本身只是对随机数生成器的调用,但是我将如何自动调用 questionTwo?我什至不知道从哪里开始!
非常感谢!
由于事件而发生"正确"的操作。您需要挂接到此事件,确定真/假,以及何时正确调用dog({number: x}).create();
。
如果您的需求比这更复杂,请澄清您的问题。谢谢。
使用数组来解决这个问题应该提供更好的可访问性。
var dog = function dog(state) {
return {
answer: state.number,
create: function create() {
console.log('Create the dogs');
this.dogIsCreated();
},
dogIsCreated: function dogIsCreated() {
console.log('How many dogs do you see?');
}
}
var currentQuestion = 0;
var question = [];
function nextQuestion() {
if (currentQuestion > 0) {
//to access the last question use question[currentQuestion] e.g. question[currentQuestion].answer
}
question.push(dog({number: 6}).create());
currentQuestion++;
}
相关文章:
- 显示模块模式在Knockout中设置模型的新实例
- 如何基于数组值创建新实例
- VS2010 javascript调试器希望在VS2010的新实例中启动
- 将新类实例中的数据存储在数组中
- Web服务器意外退出,正在重新启动新实例
- JavaScript - 有没有办法动态创建对象的新实例
- Jquery类选择器无法选择用.append()添加的新类实例
- 创建新日期实例时的奇怪行为
- 我应该在原型上还是在新创建的实例上调用构造函数方法
- CKEditor新实例始终处于卸载状态
- Javascript - 如何创建新的函数实例
- JavaScript中Var类型的新实例
- jQueryFileTree如何清除实例、重新实例化新实例或刷新
- angular.injector在每次调用时返回新的服务实例
- 每次使用角度控制器都会创建一个新的if实例
- 使用模块模式时,如何创建对象的新实例
- 使用动态函数名编写Javascript新对象实例
- Reset All按钮从JS literal添加一个新的实例jQuery
- 当一次将事件绑定到多个元素时,每个元素都有新的实例
- Angular 2 RC5的组件级提供商每次都会获得新的实例