私はゲームを開発していますが、ゲームには異なるモードがあります。簡単、普通、難しい。ということで、ゲームモードの保存方法を考えています。私の最初のアイデアは、数字を使用して難易度を表すことです。
簡単 = 0 普通 = 1 難しい = 2
したがって、私のコードは次のようになります。
switch(gameMode){
case 0:
//easy
break;
case 1:
//normal
break;
case 3:
//difficult
break;
}
しかし、いくつか問題があると思います。たとえば、「エクストリーム」などの新しいモードを追加する場合、ケース 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」は、ゲーム設定のさまざまな変数のみを格納します....オブジェクトを作成する代わりに、データのみを格納する簡単な方法はありますか? ええ。