Witam,
Może ktoś podrzucić pomysł w jaki sposób uzyskać taki efekt:
Wylosowanie 20 pytań z bazy dajmy na to 200, w przypadku błędnej odpowiedzi powrót do pierwszego pytania i od nowa te same pytania? Dodatkowo, po wybraniu nowa gra, wylosowaniu zestawu innych 20 pytań, które będą działały w ten sam sposób?
0
0
Możesz np losować na podstawie seeda, który jest generowany na nowo przy wybraniu nowej gry
0
Można prosić o przykład takiego działania?
0
Moim skromnym zdaniem, nie ma sensu wykonywać ponownie losowania w przypadku powrotu do początku.
Możesz przecież zrobić losowanie raz, zapamiętać idki pytań i na tej podstawie odtworzyć taki sam test
public void game(){
QuestionsSuite questionsSuite = new QuestionsSuite(allPossibleQuestions); //Tworzy obiekt, który zawiera listę wylosowanych pytań
List<Questions> questions = questionsSuite.getQuestions();
boolean gameWon = false;
while (!gameWon){
gameWon = play(questions);
}
}
private boolean play(List<Questions> questions) {
for (int i = 0; i < questions.length; i++) {
out.printQuestion(question);
Answer answer = out.blockingGetAnswer();
if (question.isCorrect(answer)) {
out.printQuestionSuccess();
} else {
out.printQuestionError();
out.printGameError();
return;
}
}
out.printGameSuccess();
}
PS: QuestionsSuite
powinien przyjmować w konstruktorze seed
o którym pisał @baant, żeby klasa była testowalna
0
a nie prościej po prostu pamiętać wylosowane pytania, albo tylko ich id'ki ?