2013-03-04 1 views
1

간단한 퀴즈 게임을하는 법을 배우고 있습니다. 게임에서 임의의 숫자가 생성되어 새로운 질문이 나타나게됩니다 (클릭 한 후에 각 질문이 하나의 다른 질문과 연결된 스위치가 있음). 각 질문에는 단 하나의 정답이 있으며 어떤 버튼이 클릭 된 후에도 다음 질문이 표시됩니다 (오른쪽 버튼을 클릭했는지 여부는 중요하지 않음). 그러나 나는이 시도 ... 버튼이 너무 임의의 방법으로 표시 만들려고 노력 해요 : 나는에서 onCreate에서이 코드를 넣어android : 간단한 퀴즈 게임에 무작위 버튼을 표시하려면 어떻게해야합니까?

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; 
      } 
     } 

    } 

을 (사용자가이 활동 질문을 입력 할 때 문제가 이미 표시에) 버튼 1의 onClick에서 (버튼을 클릭하면 다른 질문이 나타납니다.) 모든 4 개의 답 (4 개의 버튼)의 순서는 무작위로 지정해야합니다. 그런 식으로하는 가장 좋은 방법은 무엇입니까?

답변

0

질문, 답변 및 기타 필수 데이터가 들어있는 'QuestionInfo'클래스를 만들 수 있습니다. 그런 다음 무작위 질문을 선택하고 UI를 채우는 것이 매우 쉬운 'QuestionInfo'객체의 컬렉션 (배열 또는 목록)을 만들 수 있습니다. 거대한 switch 문은 필요하지 않습니다.

+0

"이 코드가 엄청 커질 것"이라고 생각하기 시작했습니다. 고맙습니다. 나는 이걸로 배울거야. –

-1

배열을 만들면 질문의 무작위 추출에 도움이됩니다.

관련 문제