基本的にゲーム レベルを表す列挙型であるオブジェクトをモデル化する必要があります。
public enum GameLevel {
EASY(0, 3, 30),
NORMAL(1, 4, 40),
HARD(2, 5, 50);
private int levelNum;
private int size;
private int score;
private GameLevel(int levelNum, int size, int score) {
this.levelNum = levelNum;
this.size = size;
this.score = score;
}
public int getLevelNum() {
return levelNum;
}
public int getSize() {
return size;
}
public int getScore() {
return score;
}
}
今私の問題は、この列挙型がサーバーとクライアント (共有ライブラリ jar) の両方に存在することです。私はそれを完全なコンテンツでシリアライズしています:
level { "levelNum":0, "size":3, "score":30 }
GameLevel 列挙型オブジェクトに逆シリアル化しても問題ありません。しかし、私はサーバーレベルでそれを変更できるようにしたいと思います (例: 簡単なサイズ = 3 ではなく 6)、同じ方法でシリアライズしますが、クライアント側でこれらの新しい値をデシリアライズできるようにしたいと考えています (サーバーのみが更新されます)。
列挙型がそのための正しい選択であるようには見えませんが、私のコードを見ると、すべてが「列挙型」のように扱われます。