Помогите пожалуйста с алгоритмом тестов
Добавлено: 02 дек 2021, 22:39
Здравствуйте, хочу для детей сделать тест по математике, но столкнулся с двумя проблемами, как сделать так, чтобы правильный ответ выводился на разных кнопках(кнопок 4, в данный момент я работаю через ОнКлик), полагаю это как-то делать через слушателя в скрипте, но не знаю как и самое главное как сделать так, чтобы в тесте с 4 ответами, 1ый ответ был верным, а в другие 3 варианта не верных ответов вставлялся один из 4 стрингов? Дело в том, что в в моем алгоритме допустим задача 3+4
1)Правильный овтет = 7
2) Правильный ответ + 1 = 8
3) Вариант (2) + 2 = 10
4) Правильный ответ -2 = 5
При таком алгоритме и разброс чисел не большой и повторных ответов не будет, но проблема в том, что правильный ответ всегда 2ое наименьшее число да еще и находится всегда в одной и той же кнопке. Вот у меня и появилась идея добавить в алгоритм
5) Вариант (4) - 1 = 4
И в 3 не верных варианта ответа в тесте выводить 3 случайные стринговые переменные из 4
Если это сделать нельзя, то есть еще одна идея, случайным образом отнимать или прибавлять к правильному ответу цифру варианта и после каждого овтета чтобы они менялись местами, звучит максимально не понятно, сейчас напишу пример такой же
3+4
1) Правильный ответ 7 - 1 = 6 ( цифра 1 берется с из последовательности вопроса, первый вопрос значит 1)
2) Правильный ответ 7 + 2 = 9 (взяли цифру 2)
3) Правильный ответ 7 - 3 = 4 (3ий вопрос и 3я цифра)
4) Правильный ответ 7
после правильного ответа меняться местами варианты, а лучше наверное юзать и первый и второй метод
1)Правильный овтет = 7
2) Правильный ответ + 1 = 8
3) Вариант (2) + 2 = 10
4) Правильный ответ -2 = 5
При таком алгоритме и разброс чисел не большой и повторных ответов не будет, но проблема в том, что правильный ответ всегда 2ое наименьшее число да еще и находится всегда в одной и той же кнопке. Вот у меня и появилась идея добавить в алгоритм
5) Вариант (4) - 1 = 4
И в 3 не верных варианта ответа в тесте выводить 3 случайные стринговые переменные из 4
Синтаксис:
Используется csharp
public void StartTheQuiz()
{
true1 = Random.Range(1, 10);
true2 = Random.Range(1, 10);
total = true1 + true2;
false1 = total + Random.Range(1, 3);
false2 = false1 + Random.Range(1, 3);
false3 = total - Random.Range(1, 3);
plusLeftLabel.text = true1.ToString();
plusRightLabel.text = true2.ToString();
totalLabel.text = total.ToString();
totalFalse1.text = false1.ToString();
totalFalse2.text = false2.ToString();
totalFalse3.text = false3.ToString();
}
{
true1 = Random.Range(1, 10);
true2 = Random.Range(1, 10);
total = true1 + true2;
false1 = total + Random.Range(1, 3);
false2 = false1 + Random.Range(1, 3);
false3 = total - Random.Range(1, 3);
plusLeftLabel.text = true1.ToString();
plusRightLabel.text = true2.ToString();
totalLabel.text = total.ToString();
totalFalse1.text = false1.ToString();
totalFalse2.text = false2.ToString();
totalFalse3.text = false3.ToString();
}
Если это сделать нельзя, то есть еще одна идея, случайным образом отнимать или прибавлять к правильному ответу цифру варианта и после каждого овтета чтобы они менялись местами, звучит максимально не понятно, сейчас напишу пример такой же
3+4
1) Правильный ответ 7 - 1 = 6 ( цифра 1 берется с из последовательности вопроса, первый вопрос значит 1)
2) Правильный ответ 7 + 2 = 9 (взяли цифру 2)
3) Правильный ответ 7 - 3 = 4 (3ий вопрос и 3я цифра)
4) Правильный ответ 7
после правильного ответа меняться местами варианты, а лучше наверное юзать и первый и второй метод