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?
- Rejestracja:ponad 8 lat
- Ostatnio:około 2 lata
- Postów:21
0

- Rejestracja:ponad 11 lat
- Ostatnio:2 miesiące
- Lokalizacja:Wrocław
- Postów:524
0
Możesz np losować na podstawie seeda, który jest generowany na nowo przy wybraniu nowej gry
- Rejestracja:ponad 8 lat
- Ostatnio:około 2 lata
- Postów:204
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
edytowany 2x, ostatnio: Tyvrel
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.