我正在开发一个带有sqlite的Android测验游戏,我想提出一个问题:尝试最小化问题重复的最佳方法是什么?我尝试随机化查询结果并选择一个,但这不是最好的方法。
寻求帮助
答案 0 :(得分:0)
您可以阅读问题并将其存储在列表中。然后使用Collections.shuffle方法对集合进行洗牌。现在一次删除一个问题。这确保每次都有独特的随机问题
答案 1 :(得分:0)
根据您的设置有多大,为什么不只是跟踪数据库中添加了列的游戏实例之间的内容?
在调用问题时,用简单的东西跟踪他们的id号 - 就像数组列表一样。使用此选项可避免两次调用相同的问题。然后在游戏结束时,或者,要跟踪onPause或onStop上的多个会话,请更新数据库中的列以反映之前是否调用过某个问题。
您可以使用它来(1)确保不会通过多次会话调用相同的qustions
SELECT * FROM TABLE_NAME WHERE KEY_WAS_USED = 0
或者如果您想获得创意 - 正如您在评论中提示的那样,您可以跟踪每个问题被调用的次数,然后平衡重复的频率。