Losowanie pytań w tej samej kolejności

0

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

Możesz np losować na podstawie seeda, który jest generowany na nowo przy wybraniu nowej gry

https://en.wikipedia.org/wiki/Random_seed

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 ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1