我正在实现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;
}
}