0

プレイヤーが自分のゲームをプレイしているときに得たスコアを保持し、ゲームを閉じて再度開いたときにスコアが保存されるようにしたいと考えています。私が考えることができる唯一の方法は、VB6 で行ったように、テキスト ファイルを使用して行うことです。しかし、それは彼らがテキスト ファイルを編集できるということですか? か否か?私のスコアは、どのクラスからもアクセスできる「ダブル」に保存され、違いがあれば、そのままクラス間で転送されます。

誰かがこれについて最善の方法を提案できることを願っています。

4

5 に答える 5

1

任意のアプリ。GUIを備えたものは、Java Web Startを使用して起動し、を使用できますPersistenceService。永続サービスのデータには、エンドユーザーが簡単にアクセスすることはできません。これが小さなデモです。永続化サービスの

データの保存方法については、ユーザーによる変更を防ぐことが絶対に必要でない場合は、PropertiesオブジェクトまたはXML/POJOを使用します。

それ非常に重要である場合(たとえば、10,000ドルの賞金を競うゲーマー)、値を暗号化してから、暗号化された(など)リモートサーバーを使用します。

于 2012-04-17T10:40:19.800 に答える
1

スコアを秘密にして編集できないようにすることが非常に重要な場合は、すべてのプレイヤーのスコアを自分だけが制御する安全なサーバーに保存するか、それがプロジェクトの範囲外である場合は、暗号化方法を使用して保存することをお勧めします。スコアをテキスト ファイルではなくバイナリ データとして保存します (つまり、スコア自体ではなく、ゲーム状態オブジェクトを保存します)。

于 2012-04-17T10:22:50.500 に答える
0

何らかの方法でファイルを暗号化できるため、簡単に編集することはできません (編集しようとするとスコアが壊れてしまう可能性があります) 。AES 文字列暗号化の簡単な例を次に示します

于 2012-04-17T10:21:42.177 に答える
0

ファイルをローカル マシンに保存すると、明らかに、そのファイルに対する読み取り/書き込み権限を持つすべてのユーザーがファイルを変更できます。

これらの方法のいずれかに従うことをお勧めします

  1. ファイルを暗号化し、開いたときに復号化する
  2. サーバー上のリモートファイルに保存します
  3. DB を使用する
于 2012-04-17T10:23:52.963 に答える
0

何を試しましたか?私にとってはある種の宿題のようです。

Java でファイルを読み書きできます。オブジェクトのシリアル化を行ったり、組み込みデータベースを使用したりすることもできます。

更新: サーバーのデータベース内にすべての情報を保存することをお勧めします。これを行うには多くの方法があります。具体的な実装は、バックエンドによって異なります。

于 2012-04-17T10:23:23.313 に答える