我正在使用 sqlite 为 android 开发一个问答游戏,我想提出一个问题:尝试最小化问题重复的最佳方法是什么?我尝试随机化查询结果并选择一个,但这不是最好的方法。
问候帮助
取决于您的集合有多大,为什么不通过在数据库中添加列来跟踪游戏实例之间的调用内容?
当问题被调用时,用一些简单的东西来跟踪他们的 ID 号——比如一个数组列表。使用它来避免两次调用相同的问题。然后在游戏结束时,或者为了跟踪多个会话 onPause 或 onStop,更新数据库中的列以反映之前是否调用过问题。
您可以使用它来(1)确保不会在多个会话中调用相同的问题,例如
SELECT * FROM TABLE_NAME WHERE KEY_WAS_USED = 0
或者,如果您想发挥创造力-正如您在评论中暗示的那样,您可以跟踪每个问题被调用的次数,然后平衡重复的频率。
您可以阅读问题并将其存储在 List 中。然后使用Collections.shuffle方法对集合进行洗牌。现在一次删除一个问题。这确保了每次唯一的随机问题