1

私は、SQLite データベースからランダムな単語を引き出すことを中心に構築された iOS 単語ゲームに取り組んでいます。

だから私は1つのテーブルWordsを持っています、私は次のようにX個のランダムな単語を引き出します:

SELECT Word FROM (SELECT Word FROM Words ORDER BY RANDOM() LIMIT @limit) ORDER BY LENGTH(Word)

問題は、ベータ版のユーザーが十分にランダムではないという不満を持っていることです。多くの場合、同じ単語を引っ張っているように見えますが、まったく引っ張らない単語もあります。

私がやっていることに代わるものはありますか?SQLite の RANDOM() がおそらく最適ではないことはわかっています。3,000 を超える単語があるため、すべての単語をメモリにロードする必要はありません。

PS - 私のアプリは MonoTouch を使用して C# でビルドされていますが、確実に Objective-C (または疑似コード) の回答を得ることができます

4

1 に答える 1

2

多分あなたがそれらを注文したからですか?ランダムに並べられた単語のリストを選択してから、別の選択を行い、この結果を単語の長さで並べ替えます。その 2 番目の順序付けにより、ランダム化が台無しになる可能性があります。これを分割して、ゲームで必要な単語に応じて長さを where 句にするか、最初に長さで選択してそれらのリストをランダム化しますか?

于 2012-06-06T14:04:36.443 に答える