我正在学习如何做一个简单的问答游戏。在游戏中,生成随机数以在点击之后出现新问题(每个案例与一个不同的问题相关联的开关)。每个问题只有一个正确的答案,并且在点击任何按钮后显示下一个问题(无论该人是否点击了右键,都无关紧要)。但我也试图让按钮以随机的方式出现......我试过这个:
final Random rng = new Random();
final List<Integer> generated = new ArrayList<Integer>();
while(true){
if(generated.size()!=3) {
Integer nxt = rng.nextInt(3) + 1;
if (!generated.contains(nxt))
{
generated.add(nxt);
textView1 = (TextView) findViewById(R.id.textView1);
switch (nxt) {
case 1:
textView1.setText("Question 1");
btn1.setText("Right answer");
btn2.setText("Wrong 1");
btn3.setText("Wrong 2");
btn4.setText("Wrong 3");
break;
case 2:
textView1.setText("Question 2");
btn1.setText("Right answer");
btn2.setText("Wrong 1");
btn3.setText("Wrong 2");
btn4.setText("Wrong 3");
break;
case 3:
textView1.setText("Question 3");
btn1.setText("Right answer");
btn2.setText("Wrong 1");
btn3.setText("Wrong 2");
btn4.setText("Wrong 3");
break;
}
break;
}
}
}
我将此代码放入onCreate(用户输入此活动时已出现的问题)和按钮1的onClick(单击按钮时出现另一个问题。)所有4个答案的顺序(4个按钮)应该是随机的。这样做的最佳方式是什么?
答案 0 :(得分:0)
您可能想要创建一个“QuestionInfo”类,其中包含问题,答案和任何其他所需数据。然后,您可以创建“QuestionInfo”对象的集合(数组或列表),这将使您可以轻松选择随机问题并填充UI。不需要巨大的转换声明。
答案 1 :(得分:-1)
创建数组有助于随机化您的问题。