我很抱歉我对编程和英语的了解很少。
所以我和我的朋友们正在创建一个塔防游戏作为我们大学的第二学期项目。这个学期是关于用户参与的,因此我们决定创建一个塔防,因为我们可以将用户包含在很多东西中。但是我们已经给我们的塔防游戏带来了麻烦,我们在波浪之间包含了问题,如果回答正确的话会给予x金额奖励。 就像现在一样,我们每个波浪只有一个问题,我们希望每波最多包含5个问题,这是因为如果人们想要多次播放它们,他们不能只记得正确的答案从早些时候。我们已经在一个文本文件中列出了一个问题列表,如下所示:
哪位中国领导人的遗称作为四人帮成员被判处死刑?
答:周恩来
B:江泽民 C:毛泽东 D:孙中山3
完成示例,最多可以完成50个问题。
到目前为止,我们读取此txt文件的代码如下所示:
public class ReadFile {
public static void OpenFile(){
try {
FileReader fr = new FileReader("/save/QuestionsB.txt");
BufferedReader textReader = new BufferedReader(fr);
//int numberOfLines = readLines();
for (int j=0; j < Value.numberOfQuestions; j++){
for (int i=0; i<5; i++){
Value.textData[j][i] = textReader.readLine();
}
}
textReader.close();
}
catch (IOException ex) {
Logger.getLogger(ReadFile.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void loadQuestions(){
try {
Scanner loadScanner = new Scanner(new File("save/questionFile.qreepz"));
while (loadScanner.hasNextLine()) {
for (int j=0; j < Value.numberOfQuestions; j++){
for (int i=0; i<6; i++){
Value.textData[j][i] = loadScanner.nextLine();
}
}
}
loadScanner.close();
} catch (Exception e) { }
}
现在我的问题是,我们如何创建一个游戏,每个波浪保存5个问题,并选择一个随机,我希望你知道我的意思。 我正在考虑做一些if循环,但我不知道如何做到这一点。我希望你能提供帮助,谢谢你的时间!
答案 0 :(得分:0)
以下是一些可以帮助您入门的代码。我会告诉你如何以及放置它的方式。
Question[] possibleQuestions = //collate your questions into an array.
Random rand = new Random();
Question thisRoundsQuestion = possibleQuestions[rand.nextInt(possibleQuestions.length)];
//offer question to user.
Random.nextInt()
上的信息可以是found here。
此解决方案不包括重复问题。如果您不想重复提问,则需要跟踪所提出的问题,或者在使用Collection
和ArrayList
问题时使用remove
。他们下次不在游泳池里。