2

ゲームの設定マネージャーをプログラミングしています。

基本的に、ゲーム内メニューではなく、コンソールからのみアクセスできるそのゲームの設定を表示しています。

設定またはコマンドの値が異なります。

例えば:

dota_player_units_auto_attackブール値のパラメータ、0 または 1 を持つ

whiledota_health_per_vertical_markerには整数パラメータがあります (デフォルトは 250)

これらの設定/コマンドをどのように処理/保存する必要がありますか?

私の最初のアイデアは、設定名をキーとして、ブール値を値として HashMap を使用することでしたが、これは整数部分では機能しません。Integer で値を定義して 1 と 0 をチェックするだけですか?

HashMap動的な値で使用したいと思います。

乾杯。

4

4 に答える 4

1

XMLデータの保管場所として使用することをお勧めします。一時データストアの場合、次のようなものを使用します。

HashMap<String, TypeAndValuePare> = ...;

どこTypeAndValuePareにある:

class TypeAndValuePare { int typeId; Object value; }

またはHashMap<String, Object>、タイプをチェックしてくださいinstanceof

于 2012-10-07T17:50:20.440 に答える
1

Java には、このような設定を実装するのに非常に役立つPropertiesクラスがあります。

于 2012-10-07T17:58:55.100 に答える
0

I would recommend storing the settings in a separate class as follows.

public class SettingsManager{

 private boolean dota_player_units_auto_attack;
 private int dota_health_per_vertical_marker;

}

and have getters to read the values and setters or constructor parameters to set the values.

于 2012-10-07T17:09:19.657 に答える
0

boolean構成の単純な構造を維持したい場合、私の提案は、整数とは異なる構造と考えるべきではないということです。すべての構成には独自の整数値があり、そのアプリケーションは正しく応答する必要があります。あなたの場合、変数dota_player_units_auto_attackの値が1の場合、そうでない場合は何らかのアクションが実行されます。そうではありません。

他の構成プロパティに使用するのと同じロジックを参照してください。そのため、このようなファイルの一貫した構造を持つことは、将来何らかの革新を実装する場合に役立ちます。

基本ルールの KISS (Keep It Simple Stupid) には、ここで最高のアプライアンスがあると思います。

あなたの問題で将来的には、アプリが他の値を取得できないときに使用するデフォルト値を提供する可能性のあるオプションを使用して、列挙を行うことができます。これにより、コードの可読性と信頼性が確実に向上します。

于 2012-10-07T17:23:32.527 に答える