word/quiz: automatic subpage setup including specific css
[sheet.git] / word / multichoice.js
index aa018d015294ec5f031d58c8112542795b031178..7402507aa90e33c1fb481c3840918ec93c455da8 100644 (file)
@@ -1,16 +1,19 @@
-class WordMultiChoice extends WordQuiz {
+class WordMultichoice extends WordQuiz {
        next() {
+               if (this.words.length < 4) return;
                let word = this.words.shift();
                let form = put(this.form,
-                       '+img[src=$]+ul', `/data/word/en/${word[0]}.jpg`,
+                       '+img[src=$]+ul', `/data/word/32/${word[2]}.jpg`,
                );
 
-               let answers = [word[2], this.words[1][2], this.words[2][2], this.words[3][2]]
-                       .sort(() => {return .5 - Math.random()}) // shuffle
+               let answers = [word[0], this.words[0][0], this.words[1][0], this.words[2][0]]
+                       .shuffle()
+               this.log('ask', word[2], answers);
                answers.forEach(suggest => {
                        let label = suggest.replace(/\/.*/, '');
                        let option = put(form, 'li', label, {onclick: () => {
-                               if (suggest != word[2]) {
+                               this.log('pick', suggest, null, word[0]);
+                               if (suggest != word[0]) {
                                        // incorrect
                                        put(option, '.wrong');
                                        return;
@@ -22,7 +25,7 @@ class WordMultiChoice extends WordQuiz {
        }
 
        setup() {
-               this.form = document.getElementById('quiz');
+               super.setup();
                this.next();
        }
 };