0

タブーというゲームをベースに、友達や家族向けのAndroidアプリを作っています。基本的に、ゲームはメインの単語を表示し、次に制限された単語のリストを表示します。目的は、チームメートにメインの単語を言わせることですが、制限された単語を言うことはできません。

このアプリでは、数百の主要な単語に加えて、主要な単語ごとに7つの制限された単語が必要になります。

私の問題は、アプリからランダムにアクセスできるようにこれらを保存する方法です。

私の最初の考えは、文字列配列を使用してXMLリソースを使用することでしたが、ランダムジェネレーターでこれらを参照する方法がわかりません。

私はありとあらゆる提案を受け入れます。私はAndroidSDKを使用してEclipseで作業しています。

明確にするために、私はJava / C / C ++の経験がありますが、これは私の最初のAndroidアプリです。ゲームフレームワークはほぼ完成していますが、これが私の唯一の大きな問題です。

どんな助けでも大歓迎です。

4

3 に答える 3

0

あなたがランダムに言ったxmlメソッドを使うことができます。このようなもの:

8つの単語(1つは正しく、7つは制限付き)を含む1つの文字列配列があるとします。異なる名前の配列をいくつでも持つことができます。それらはstring.xmlに保存されます

ここで、Javaでを作成し、Random取得した数値を確認します。次に、x数値を取得した場合は、xstring-arrayを開きます。

次に例を示します。

<string-array name="a">
    <item>A</item>
    <item>B</item>
    <item>C</item>
    <item>D</item>
    <item>E</item>
    <item>F</item>
    <item>G</item>
    <item>H</item>
</string-array>

今Javaで:

Random r = new Random();
int i1 = r.nextInt(max - min + 1) + min;

次に、番号を確認します。

if (i1 == 0){
//do your magic code here with string-array a
} else ...

または、次のような任意の方法を使用しますswitch...

編集:またはトリックは、文字列配列a#(呪いの#は数字です)の名前を作成してから、次のようにすることです。

array = getResources().getStringArray(R.array.a+i1);

この方法では、if elseまたはswitchまたは使用したいものは何も必要ありません。

注:このコードは私の考えによるものなので、書き込みエラーが発生する可能性があります。

于 2013-01-05T03:02:37.830 に答える
0

あなたはそのようなデータモデルを持っているようです:あなたは主要な単語のリストを持っています。各メインワードオブジェクトには、ワード自体と、関連する制限付きワードのリストが含まれています。

これは、JSONまたはXML(またはプロトコルバッファ)で実行できることのように見えます。JSONは速度とAndroidのサポートのバランスが取れているので、JSONを使用します。エディターを使用してJSONファイルを作成でき、次のようになります。

[{
    "name": "animal",
    "restricted": ["cat", "dog", "mouse"]
},{
    "name": "fruit",
    "restricted": ["kiwi", "apple", "orange"]
},
{
    "name": "city",
    "restricted": ["Paris", "London", "Madrid"]
}]

ファイルを開いてに変換したら、を使用してファイルをString解析しJSONArray(yourString)、そこから適切なメソッドを使用して、個々の単語JSONObject、その名前String、およびJSONArray制限された単語Stringの名前を取得できます。

于 2013-01-05T03:11:06.170 に答える
0

すべてをSQLiteデータベースに保存するクイズアプリ(1つの質問、5つの回答からなる複数の選択肢)を開発しました。この実装では、必要に応じて単語にカテゴリを使用することもできます。あなたができることは、単語の数を数え、これを0からいくつまで含む整数配列リストとして持つことです。次に、リストをシャッフルして、ランダムな順序にしました。このように、ランダムを使用する場合とは異なり、質問を繰り返すことはありません。別の可能性は、ランダムに使用したい場合は、使用するたびに単語を削除することです。この方法の利点は、各文字列、文字列配列などを参照する必要がないことです。データベースに毎回単語を追加するだけで、固定構造が自動的に処理します。

于 2013-01-05T04:02:48.097 に答える