Проблема с зацикливанием испытания по критерию точности в JsPsych - цикл продолжается бесконечно. ⇐ Javascript
Проблема с зацикливанием испытания по критерию точности в JsPsych - цикл продолжается бесконечно.
Я новичок в использовании JsPsych и пытаюсь в качестве практики создать очень простую математическую викторину. Я намерен использовать случайные математические вопросы в качестве подсказки, а затем после 10 правильных ответов задание должно завершиться. Я написал код, который успешно выбирает случайные математические задачи из списка и успешно зацикливается. Я не уверен, где именно ошибка, но это может быть
[*]где я определяю правильные ответы [*]где я считаю правильные ответы [*]где я зацикливаю вопросы
Мой код приведен ниже. Если я смогу что-то уточнить, дайте мне знать. Заранее спасибо! Изменить: я добавляю еще одну попытку с другим кодом, но с той же проблемой
Математическая викторина вар jsPsych = initJsPsych(); вар временной шкалы = []; // создаем случайно выбранную математическую задачу и определяем правильный ответ вар тест = { тип: jsPsychSurveyText, вопросы: [ { подсказка: функция() { вар MathQuest = [ «2+2», «3+7», «Сколько недель в году?» ]; вар mathProblems = jsPsych.randomization.sampleWithReplacement(MathQuest, 1)[0]; вернуть математические задачи; }, имя: 'соответственно', } ], post_trial_gap: 500, on_finish: функция (данные) { вар корректные ответы = { '2+2': '4', '3+7' : '10', «Сколько недель в году?» : '52' }; вар ответ = data.response; if (correctResponses[data.prompt] === ответ) { данные.корректно = правда; } еще { данные.корректно = ложь; } } }; // завершаем тестовое испытание // Создаем узел цикла для теста с критериями точности: вар CorrectCount = 0; // Счетчик правильных ответов вар LoopNode = { временная шкала: [тест], цикл_функция: функция (данные) { // Проверяем, должен ли цикл продолжаться, исходя из количества правильных ответов если (correctCount < 10) { если (data.values()[0].correct) { правильныйсчет++; } вернуть истину; // Продолжаем цикл } еще { вернуть ложь; // Завершаем цикл } console.log("Правильный счетчик: " + CorrectCount); }, }; jsPsych.run([loopNode]);
2-я попытка:
Математическая викторина, дубль 2 вар jsPsych = initJsPsych(); вар временной шкалы = []; вар mathQuestions = [ {math: '2+2 = ?', правильно: '4'}, {math: '2x3 = ?', правильно: '6'}, {math: '5x7 = ?', правильно: '35'} ]; вар тест = { тип: jsPsychSurveyText, вопросы: [ { подсказка: jsPsych.timelineVariable('math'), имя: 'соответственно' } ], on_finish: функция (данные) { data.correct=jsPsych.timelineVariable('правильный'); вар акк = 0; вар ответ = data.response.resp; если (ответ == data.correct){ ак++; } } }; вар mathQuestionProcedure = { временная шкала: [тест], timeline_variables: mathQuestions, цикл_функция: функция (данные) { если (согл < 2) { вернуть истину; //переходим к критериям } еще { вернуть ложь; //завершаем цикл } } } timeline.push(mathQuestionProcedure); jsPsych.run([mathQuestionProcedure])
Я новичок в использовании JsPsych и пытаюсь в качестве практики создать очень простую математическую викторину. Я намерен использовать случайные математические вопросы в качестве подсказки, а затем после 10 правильных ответов задание должно завершиться. Я написал код, который успешно выбирает случайные математические задачи из списка и успешно зацикливается. Я не уверен, где именно ошибка, но это может быть
[*]где я определяю правильные ответы [*]где я считаю правильные ответы [*]где я зацикливаю вопросы
Мой код приведен ниже. Если я смогу что-то уточнить, дайте мне знать. Заранее спасибо! Изменить: я добавляю еще одну попытку с другим кодом, но с той же проблемой
Математическая викторина вар jsPsych = initJsPsych(); вар временной шкалы = []; // создаем случайно выбранную математическую задачу и определяем правильный ответ вар тест = { тип: jsPsychSurveyText, вопросы: [ { подсказка: функция() { вар MathQuest = [ «2+2», «3+7», «Сколько недель в году?» ]; вар mathProblems = jsPsych.randomization.sampleWithReplacement(MathQuest, 1)[0]; вернуть математические задачи; }, имя: 'соответственно', } ], post_trial_gap: 500, on_finish: функция (данные) { вар корректные ответы = { '2+2': '4', '3+7' : '10', «Сколько недель в году?» : '52' }; вар ответ = data.response; if (correctResponses[data.prompt] === ответ) { данные.корректно = правда; } еще { данные.корректно = ложь; } } }; // завершаем тестовое испытание // Создаем узел цикла для теста с критериями точности: вар CorrectCount = 0; // Счетчик правильных ответов вар LoopNode = { временная шкала: [тест], цикл_функция: функция (данные) { // Проверяем, должен ли цикл продолжаться, исходя из количества правильных ответов если (correctCount < 10) { если (data.values()[0].correct) { правильныйсчет++; } вернуть истину; // Продолжаем цикл } еще { вернуть ложь; // Завершаем цикл } console.log("Правильный счетчик: " + CorrectCount); }, }; jsPsych.run([loopNode]);
2-я попытка:
Математическая викторина, дубль 2 вар jsPsych = initJsPsych(); вар временной шкалы = []; вар mathQuestions = [ {math: '2+2 = ?', правильно: '4'}, {math: '2x3 = ?', правильно: '6'}, {math: '5x7 = ?', правильно: '35'} ]; вар тест = { тип: jsPsychSurveyText, вопросы: [ { подсказка: jsPsych.timelineVariable('math'), имя: 'соответственно' } ], on_finish: функция (данные) { data.correct=jsPsych.timelineVariable('правильный'); вар акк = 0; вар ответ = data.response.resp; если (ответ == data.correct){ ак++; } } }; вар mathQuestionProcedure = { временная шкала: [тест], timeline_variables: mathQuestions, цикл_функция: функция (данные) { если (согл < 2) { вернуть истину; //переходим к критериям } еще { вернуть ложь; //завершаем цикл } } } timeline.push(mathQuestionProcedure); jsPsych.run([mathQuestionProcedure])
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение