android:如何在简单的问答游戏中显示随机按钮?

时间:2013-03-04 03:47:13

标签: android random

我正在学习如何做一个简单的问答游戏。在游戏中,生成随机数以在点击之后出现新问题(每个案例与一个不同的问题相关联的开关)。每个问题只有一个正确的答案,并且在点击任何按钮后显示下一个问题(无论该人是否点击了右键,都无关紧要)。但我也试图让按钮以随机的方式出现......我试过这个:

    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个按钮)应该是随机的。这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

您可能想要创建一个“QuestionInfo”类,其中包含问题,答案和任何其他所需数据。然后,您可以创建“QuestionInfo”对象的集合(数组或列表),这将使您可以轻松选择随机问题并填充UI。不需要巨大的转换声明。

答案 1 :(得分:-1)

创建数组有助于随机化您的问题。