From 1493d2ae342d7e2d3a01c5303650f29640855dd7 Mon Sep 17 00:00:00 2001 From: goynov Date: Fri, 10 Apr 2026 11:22:26 +0300 Subject: [PATCH] allow custom question count in shuffle mode --- .../InteractiveObjects/MazeQuizGame/MazeQuizGame.js | 10 ++++++---- .../InteractiveObjects/MazeQuizGame/MazeQuizGame.vue | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/InteractiveObjects/MazeQuizGame/MazeQuizGame.js b/src/components/InteractiveObjects/MazeQuizGame/MazeQuizGame.js index ec8aac9..461d0d5 100644 --- a/src/components/InteractiveObjects/MazeQuizGame/MazeQuizGame.js +++ b/src/components/InteractiveObjects/MazeQuizGame/MazeQuizGame.js @@ -44,12 +44,14 @@ class MazeQuizGame extends EventManager { this.data = data; this.params = { ...params, mazeFile: data.style || 'quiz-s2.gltf', io: this } - - this.maxPoints = (data.points || 0) + (data.questionPoints||0) * data.questions.length; - this.minPoints = this.maxPoints - (data.questionPenalty||0) * data.questions.length; return new Promise(async (resolve, reject)=>{ let questions = data.shuffle ? Utils.shuffleArray(data.questions) : data.questions; + if (data.shuffle && questions.length > data.questionsCount){ + questions.length = data.questionsCount; + } + this.maxPoints = (data.points || 0) + (data.questionPoints||0) * questions.length; + this.minPoints = this.maxPoints - (data.questionPenalty||0) * questions.length; let def = this.generate(questions); this.mazeObject = new MazeObject(engine, def, this.params) engine.addEventListener('collision', async e=>{ @@ -80,7 +82,7 @@ class MazeQuizGame extends EventManager { } } if (ud.qid !== undefined && e.started){ - engine.dashboard.updateText(ud.question.q) + //engine.dashboard.updateText(ud.question.q) engine.dashboard.levelProgress.update(ud.qid / questions.length) this.dispatchEvent({type:'interaction'}); } diff --git a/src/components/InteractiveObjects/MazeQuizGame/MazeQuizGame.vue b/src/components/InteractiveObjects/MazeQuizGame/MazeQuizGame.vue index 346fb3c..2d86814 100644 --- a/src/components/InteractiveObjects/MazeQuizGame/MazeQuizGame.vue +++ b/src/components/InteractiveObjects/MazeQuizGame/MazeQuizGame.vue @@ -40,6 +40,7 @@ +