1

我正在开发一个 iOS 文字游戏,它是围绕从 SQLite 数据库中提取随机单词而构建的。

所以我有 1 个表,单词,我抽出 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

也许是因为您订购了它们?你选择一个随机排序的单词列表,然后你再做一次选择并按单词长度排序这个结果。第二次排序可能会打乱您的随机化。我会将其拆分,并根据您在游戏中需要的单词将长度设为 where 子句,还是先按长度选择并随机化这些列表?

于 2012-06-06T14:04:36.443 回答