JavaScript游戏 - 如何自动调用对象的新实例

时间:2016-01-14 17:38:08

标签: javascript

我正在努力学习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?我不知道从哪里开始!

非常感谢!

2 个答案:

答案 0 :(得分:0)

使用数组进行处理应提供更好的可访问性。

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++;
}

答案 1 :(得分:0)

因为事件而发生'纠正'的行为。您需要挂钩此事件,确定true / false,以及何时正确调用dog({number: x}).create();

如果您的要求比这更复杂,请澄清您的问题。感谢。