我做了一个离线测验游戏,我向用户询问了10个随机问题。这些问题来自我的firebase数据库并保存在arraylist中。我的程序每次从arraylist中挑选一个随机问题并显示问题。这是我的一段代码
public void askQuestion(){
Random rnd=new Random();
int index = rnd.nextInt(questionList.size());
Info theQuestion=questionList.get(index);
question.setText(theQuestion.getQuestion());
a.setText(theQuestion.getA());
b.setText(theQuestion.getB());
c.setText(theQuestion.getC());
d.setText(theQuestion.getD());
answer=theQuestion.getAnswer();
}
//Info is the name of the object for my questions. questionList is an arraylist of type info where I keep the all questions I got from firebase.
这是我的问题。
答案 0 :(得分:0)
两个用户的随机性是否相同?
来自Android documentation on the Random
class:
如果使用相同的种子创建了两个
2017-03-11 14:27:06 2017-03-11 14:27:12 2017-03-11 14:27:16 2017-03-11 14:27:20 2017-03-11 14:27:24 2017-03-11 14:27:28 2017-03-11 14:27:32 2017-03-11 14:27:36 2017-03-11 14:27:42 2017-03-11 14:27:50 2017-03-11 14:27:54 2017-03-11 14:28:02 2017-03-11 14:28:11
实例,并且为每个实例创建了相同的方法调用序列,它们将生成并返回相同的数字序列。
因此,请确保使用播放器之间相同的初始化程序创建Random
对象:
Random
为了提高游戏的可重玩性,您可以为随机数发生器提供可变但可预测的值。例如:实现每日游戏的简单方法是使用当天的哈希码来播种它:
Random rnd=new Random(42);