0

私は友人がボード ゲームのレースをランダム化するために作成したアプリを持っています。これにより、プレイヤーは毎回ランダムに選択された種を取得します。特定の種族を選択できないように、ブラックリストを許可する機能を更新に含めたいと考えています。これについて最善の方法は何ですか?ありとあらゆるアドバイスをいたします。よろしくお願いします。

注: 配列は名前の文字列で構成されており、アプリがインストールされている限り、またはアプリが変更されるまで、これが持続することを望みます。

編集:私の明確さの欠如についてお詫び申し上げます。私は一般的にどのようにそれを行う必要があるかを知っていますが、設定メニューから設定を保存して、閉じて再度開いたときにブラックリストに登録されたレースが持続するのはどうですか? アプリを閉じても、再度開いても設定をそのままにしておきたいです。そうすれば、次にゲームをプレイするとき (数週間後)、好みが変わっていないと仮定して、再度ブラックリストに登録せずにクリックすることができます。

4

2 に答える 2

3

コードがなければ、アプリの残りの部分をどのように実装しているかがわからないため、これをどのように行うかを確実に言うのは困難です.

これを行う方法の 1 つは、たとえば定数を使用して、整数を各人種に関連付ける場合です。

public static final GIRAFFE = 1;
public static final GOOSE = 2;

次に、ランダムな整数を生成して、各レースをランダムに選択できます。ランダム整数生成のメソッドを作成した場合、除外される特定の数値を渡すことができます。生成された整数が除外された数値の 1 つである間、ランダムな整数を生成し続けることができます。

例(AndroidなのでJavaでコーディングします)

// assume min = smallest integer assigned to an animal,  
// and max = largest integer assigned to an animal

public static int randomNumber(int ... exclude)
{
    int random = min + (int)(Math.random() * ((max - min) + 1));
    for (int i = 0; i < exclude.length; i++)
    {
         if (exclude[i] == random)
             random = Min + (int)(Math.random() * ((Max - Min) + 1));
    }
    return random;
}

私は StackOverflow に少し慣れていないので、これが役立つかどうか教えてください。

于 2014-01-10T01:22:31.823 に答える
1

あなたがする必要があるのは、データを永続化することです。2 つの解決策を使用できます。1) 手間をかけずにキーと値のペアを保存するための SharedPreferences フレームワーク。リストを保存する方法については、こちらを参照してくださいリストまたはセットを SharedPreferencesに保存します

2) SQL データベースを使用します。(カスタムソリューション)

ケース 1 では、ブラックリストに登録された文字列を永続化します。ケース 2 では、すべての文字列を含むテーブルを作成し、ブラックリストに登録されているかどうかに関するブール値を持つのが最善です。

データベースに精通していない限り、データベース ソリューションは作業に時間がかかるため、共有設定をお勧めします。

于 2014-01-11T20:35:10.823 に答える