官术网_书友最值得收藏!

Showing different quests

In this task, we are going to show how to advance to the next level when the player's composition matches that of the quest compositions in the current level.

Engage thrusters

This time, we need quest-level data in the quest.js file to be accessible from another file, so we need to attach the questLevels and questData methods to the game scope rather than the original local scope:

  1. In the quest.js file, we change the questLevels declaration from var questLevels to game.questLevels.
  2. We apply the same to questData:
    // from
    var questData = questLevels[level]; 
    // to
    var questData = game.questLevels[level];
  3. In the scenes.js file, we display the level with the following function:
    gameScene.updateLevelInfo = function(level) {
      document.getElementById('stage').textContent = "Stage "+ level;
    };
  4. At last, we modify the game flow in the game.js file to count the level:
    game.flow = {
      currentLevel: -1,
      maxLevel: game.questLevels.length - 1,
      startOver: function() {
        ...
        this.currentLevel = -1;
      },
      nextLevel: function() {
        this.currentLevel+=1;
        if (this.currentLevel>= this.maxLevel) this.currentLevel = this.maxLevel;
    
        game.gameScene.updateLevelInfo(this.currentLevel+1); 
        // when displaying level, we start from 1 instead of 0, so +1 here.
        ...
      },
      ...
    }

Objective complete – mini debriefing

The level up is done by counting the current level and selecting the level from the questLevels array. The nextLevel method is used to increase the currentLevel counter. Moreover, this method is called once startButton is clicked from the menu. Therefore, it will increase the currentLevel counter at the beginning. This is why we set the initial value of currentLevel to -1. This will ensure that it selects the first level once the game starts that is at index 0 of the level array. We reset currentLevel in the startOver method once the game is over. On the other hand, we display the current level at the top of the game inside the #stage element. Therefore, we also update that wording every time the level is up.

主站蜘蛛池模板: 云龙县| 洛阳市| 株洲市| 烟台市| 昌邑市| 镇平县| 胶南市| 方城县| 连江县| 永年县| 民丰县| 会同县| 广丰县| 锡林浩特市| 乐平市| 徐水县| 正蓝旗| 察雅县| 成武县| 邯郸市| 仁布县| 修文县| 满洲里市| 新龙县| 寿阳县| 绿春县| 浏阳市| 咸阳市| 临潭县| 光泽县| 大冶市| 富源县| 崇文区| 滁州市| 韶山市| 大悟县| 穆棱市| 三门峡市| 郁南县| 康定县| 岳阳县|