我正在构建一个有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'来选择未排序的答案。 –