我正在構建一個有4個多選答案(在android studio中)的問題的遊戲。我將在我的應用程序中爲所有45個問題生成三個錯誤答案和一個正確答案。我有一個單獨的方法隨機生成問題(45個不同的問題)。我不太確定如何做到這一點。如何爲多選遊戲生成隨機字符串
public class MainActivity extends AppCompatActivity {
Button startGame;
TextView questionTextView;
questions question = new questions();
ArrayList<String> answers; //gets the correct
int correctAnswer;
public void START (View view) {
startGame.setVisibility(View.INVISIBLE);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Random rand = new Random();
startGame = (Button) findViewById(R.id.startButton);
questionTextView = (TextView) findViewById(R.id.questionTextview);
questionTextView.setText(question.getQuestion());
correctAnswer = rand.nextInt(4);
for(int i = 0; i < 4; i++) {
if(i == correctAnswer) {
} else {
}
}
}
}
public class questions {
public String [] mquestions = {
"Who is the 1st president of the United States?",
"Who is the 2nd president of the United States?",
"Who is the 3rd president of the United States?",
"Who is the 4th president of the United States?",
"Who is the 5th president of the United States?",
"Who is the 6th president of the United States?",
"Who is the 7th president of the United States?",
"Who is the 8th president of the United States?",
"Who is the 9th president of the United States?",
"Who is the 10th president of the United States?",
"Who is the 11th president of the United States?",
"Who is the 12th president of the United States?",
"Who is the 13th president of the United States?",
"Who is the 14th president of the United States?",
"Who is the 15th president of the United States?",
"Who is the 16th president of the United States?",
"Who is the 17th president of the United States?",
"Who is the 18th president of the United States?",
"Who is the 19th president of the United States?",
"Who is the 20th president of the United States?",
"Who is the 21st president of the United States?",
"Who is the 22nd president of the United States?",
"Who is the 23rd president of the United States?",
"Who is the 24th president of the United States?",
"Who is the 25th president of the United States?",
"Who is the 26th president of the United States?",
"Who is the 27th president of the United States?",
"Who is the 28th president of the United States?",
"Who is the 29th president of the United States?",
"Who is the 30th president of the United States?",
"Who is the 31st president of the United States?",
"Who is the 32nd president of the United States?",
"Who is the 33rd president of the United States?",
"Who is the 34th president of the United States?",
"Who is the 35th president of the United States?",
"Who is the 36th president of the United States?",
"Who is the 37th president of the United States?",
"Who is the 38th president of the United States?",
"Who is the 39th president of the United States?",
"Who is the 40th president of the United States?",
"Who is the 41st president of the United States?",
"Who is the 42nd president of the United States?",
"Who is the 43rd president of the United States?",
"Who is the 44th president of the United States?",
"Who is the 45th president of the United States?",
};
public String getQuestion() {
String question = "";
Random rand = new Random();
//This randomizes the questions!!
int randomNumber = rand.nextInt(mquestions.length);
question = mquestions[randomNumber];
return question;
}
}
由於可能的答案需要可信。你不能真的只有一個隨機的字符串。最好的方法可能是從單詞庫中挑選一些隨機單詞/名稱。這與你如何選擇你的問題是一樣的想法。 – litelite
你想要隨機隨機(即喬治塔夫脫),或者你想要使用一個有效的名字銀行(誰是第44:奧巴馬,特朗普,布什,克林頓)? – Robert
使用數據庫。通過一個id關聯問題和答案並用一個整數標記正確的答案。錯誤的可以是一個可變數字,所以混淆了一下。使用'... ORDER BY RANDOM'來選擇未排序的答案。 –