我正在开发一个游戏,游戏有不同的模式。简单,正常和困难。所以,我正在考虑如何存储游戏模式。我的第一个想法是用数字来表示难度。
容易 = 0 正常 = 1 困难 = 2
所以,我的代码会是这样的:
switch(gameMode){
case 0:
//easy
break;
case 1:
//normal
break;
case 3:
//difficult
break;
}
但是我觉得有一些问题,如果我添加一个新的模式,例如“Extreme”,我需要添加case 4......这似乎不是一个gd设计。
所以,我正在考虑制作一个gameMode对象,不同的gameMode是超类gameMode的子类。gameMode 对象是这样的:
class GameMode{
int maxEnemyNumber;
int maxWeaponNumber;
public static GameMode init(){
GameMode gm = GameMode();
gm.maxEnemyNumber = 0;
gm.maxWeaponNumber = 0;
return gm;
}
}
class EasyMode extends GameMode{
public static GameMode init(){
GameMode gm = super.init();
gm.maxEnemyNumber = 10;
gm.maxWeaponNumber = 100;
return gm;
}
}
class NormalMode extends GameMode{
public static GameMode init(){
GameMode gm = super.init();
gm.maxEnemyNumber = 20;
gm.maxWeaponNumber = 80;
return gm;
}
}
但我认为创建一个对象来存储gameMode似乎太“笨重”,我的“gameMode”只存储游戏设置的不同变量......这是只存储数据而不是制作对象的简单方法吗?你。