【问题标题】:android: How can I display random buttons to a simple quiz game?android:如何在简单的问答游戏中显示随机按钮?
【发布时间】:2013-03-04 03:47:13
【问题描述】:

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

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

【问题讨论】:

    标签: android random


    【解决方案1】:

    您可能想要创建一个“QuestionInfo”类来保存问题、答案和任何其他所需数据。然后,您可以创建“QuestionInfo”对象的集合(数组或列表),这将使选择随机问题和填充 UI 变得非常容易。不需要巨大的 switch 语句。

    【讨论】:

    • 我开始认为“这段代码会很庞大”。谢谢你。我将学习如何使用它。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多