当所有敌人都在视频游戏中死亡时,如何改变水平



我正在实现2D视频游戏。当您以某个级别杀死所有敌人时,您应该登上一个新的水平,但是我不知道如何实施它。您对我可以使用的可能的设计模式有任何建议吗?

public class GameWorld {
    int aliveEnemies = 3;
    void setAliveEnemies() {
        //omitted by OP
    }
    int getAliveEnemies() {
        if (aliveEnemies == 0) {
            goToNextLevel();
        }
    }
}

public class Level {
    void spawnEntities(){
        // omitted by OP
    }
}

我想您的Gameworld具有Level属性。当您达到一个下一级别时,您应该调用级别的产卵。

public class GameWorld {
    Level currentLevel = null; //Level attribute
    int aliveEnemies = 0;
    //Gameworld constructor
    GameWorld(Level lev) {
        this.currentLevel = lev;
    }
    void setAliveEnemies() {
        this.aliveEnemies = this.currentLevel.spawnEntities(); //Load next enemies
    }
    int getAliveEnemies() {
        if (aliveEnemies == 0) {
            goToNextLevel();
        }
    }
    //goToNextLevel implementation
    private void goToNextLevel() {
        this.level = new Level(); //Load new Level
        this.setAliveEnemies(); // Load enemies of that level
    }
}

public class Level {
    int spawnEntities()  //should return number of enemis spawned
        // omitted by OP
        return 3;
    }
}

最新更新