void GenerateQuestion()
    {
        _active = true;
        var questionsChosen = new List <int>
        {
            rnd.Range(0, _questions.Count),
            rnd.Range(0, _questions.Count),
            rnd.Range(0, _questions.Count),
            rnd.Range(0, _questions.Count)
        };

        while (questionsChosen.GroupBy(x => x).Any(x => x.Count() > 1))
        {
            questionsChosen = new List <int>()
            {
                rnd.Range(0, _questions.Count),
                rnd.Range(0, _questions.Count),
                rnd.Range(0, _questions.Count),
                rnd.Range(0, _questions.Count)
            };
        }

        _mainQuestion = _questions[questionsChosen[0]];

        var possibleQuestions = new List <ReversedEdgeworkQuestion>()
        {
            _mainQuestion, _questions[questionsChosen[1]], _questions[questionsChosen[2]], _questions[questionsChosen[3]]
        };

        screenText.text = _mainQuestion.Answer.ToString();

        possibleQuestions.Shuffle();

        for (int i = 0; i < 4; ++i)
        {
            _assignedQuestions[i] = possibleQuestions[i];
            texts[i].text         = _assignedQuestions[i].Question;
        }

        LogTheFile(string.Format("I've chosen the following questions: {0}.",
                                 string.Join(", ", _assignedQuestions.Select(x => x.Question).ToArray())));
        LogTheFile(string.Format("The number on the display is: {0}", _mainQuestion.Answer.ToString()));
        LogTheFile(string.Format("One correct answer is: {0}", _mainQuestion.Question));
    }
Пример #2
0
    void GenerateQuestion()
    {
        active = true;
        List <int> questionsChosen;

        do
        {
            questionsChosen = new List <int>()
            {
                rnd.Range(0, questions.Length),
                rnd.Range(0, questions.Length),
                rnd.Range(0, questions.Length),
                rnd.Range(0, questions.Length)
            };
        } while (questionsChosen.GroupBy(x => x).Any(x => x.Count() > 1));

        mainQuestion = questions[questionsChosen[0]];
        ReversedEdgeworkQuestion question2 = questions[questionsChosen[1]];
        ReversedEdgeworkQuestion question3 = questions[questionsChosen[2]];
        ReversedEdgeworkQuestion question4 = questions[questionsChosen[3]];

        List <ReversedEdgeworkQuestion> possible = new List <ReversedEdgeworkQuestion>()
        {
            mainQuestion, question2, question3, question4
        };

        screenText.text = mainQuestion.answer.ToString();

        for (int i = 0; i < 4; ++i)
        {
            assignedQuestions[i] = possible.PickRandom();
            possible.Remove(assignedQuestions[i]);
            texts[i].text = assignedQuestions[i].question;
        }
        LogTheFile("I've chosen the following questions: " + assignedQuestions[0].question + ", " + assignedQuestions[1].question + ", " + assignedQuestions[2].question + ", " + assignedQuestions[3].question + ".");
    }