0

私は Robocode を使用して、パフォーマンスを向上させる (最高のフィットネス レベルを達成する) ように進化する GA タンクを開発しています。そのためには、各タンクに関する情報を 1 つのファイルに保存する必要があります。

クラス Tank には、次のようないくつかの変数があります。

  • スピード
  • 角運動量
  • 火力
  • スキャン率

これらの変数を「settings.txt」というファイルに保存し、戦闘後に更新できるようにしたいと考えています。

ファイルを次のようにフォーマットしたいと思います。

robot(1):
speed=12
angMomentum=6
firePower=2
scanRate=10

robot(2):
speed=8
angMomentum=4
firePower=3
scanRate=13

このようなファイルを作成し、各戦闘後に変数値を簡単に更新できるようにするための最良の方法は何でしょうか?

どうもありがとう。

4

4 に答える 4

0

すべてのデータを1つの大きなファイルにまとめたい場合。オブジェクト構造を維持できるので、 JSON形式のようなものを使用することをお勧めします。変数、オブジェクト、配列を使用します。

利用可能なJSONリーダーとライターはたくさんあります。いくつかの「公式」bijjson.orgでさえここにあります

JSONは次のようになります。

{
    "tanks":[
        {"id": 1, "speed": 12, "angMomentum": 6, "firePower": 2, "scanRate": 10},
        {"id": 2, "speed": 8, "angMomentum": 4, "firePower": 3, "scanRate": 13}
    ]
}
于 2012-03-10T15:13:10.150 に答える
0

SerializationプレーンJavaオブジェクトをディスクに格納および取得できるJavaを実際に調べる必要があります。

本当に独自のカスタム形式を作成したい場合は、パーサーを自分で実装する必要があります。java.ioおよびAPIを使用Fileして、文字列をディスクに書き込んだり、ファイルから1行ずつ読み取ったりできます。

于 2012-03-10T15:15:10.740 に答える
0

このPropertiesクラスには、必要なものがすべて含まれています。プロパティを使用して構成値を格納します。ディスクへの読み取りと書き込みを処理し、Map値を保存および取得するためのとして機能します。長期保存の点で非常に脆弱なシリアル化やXML/JSON解析の必要はありません。

于 2012-03-10T17:06:10.903 に答える
0

XStreamを使用して、オブジェクトを次のような XML 形式にシリアル化できます。

<tank>
    <id>1</id>
    <speed>12</speed>
    <angMomentum>6</angMomentum>
    <firePower>2</firePower>
    <scanRate>10</scanRate>
</tank>

オブジェクトを XML で表現する方法を定義するのは非常に簡単です (XStream オブジェクトで注釈またはメソッドを使用できます)。

于 2012-03-10T16:33:10.983 に答える