diff --git a/src/activities/gletters/gletters.js b/src/activities/gletters/gletters.js --- a/src/activities/gletters/gletters.js +++ b/src/activities/gletters/gletters.js @@ -126,10 +126,15 @@ deleteWords(); level = items.wordlist.getLevelWordList(currentLevel + 1); maxSubLevel = items.wordlist.getMaxSubLevel(currentLevel + 1); + var levelData = level.words.slice() + if(items.ourActivity.activityName === "smallnumbers2"){ + levelData = levelData.concat( levelData.concat(levelData) ); + levelData.length =( levelData.length > 15 ) ? 15 : levelData.length; + } if (maxSubLevel == 0) { // If "sublevels" length is not set in wordlist, use the words length - maxSubLevel = level.words.length + maxSubLevel = levelData.length } items.score.numberOfSubLevels = maxSubLevel; setSpeed(); @@ -148,37 +153,38 @@ // first generate a map of needed letters var letters = new Array(); items.keyboard.shiftKey = false; - for (var i = 0; i < level.words.length; i++) { + for (var i = 0; i < levelData.length; i++) { if(mode ==='letter') { // The word is a letter, even if it has several chars (digraph) - var letter = level.words[i]; + var letter = levelData[i]; var isUpper = (letter == letter.toLocaleUpperCase()); - if (isUpper && letters.indexOf(letter.toLocaleLowerCase()) !== -1) + var isDigit = letter.toLocaleLowerCase() === letter.toLocaleUpperCase() + if (!isDigit && isUpper && letters.indexOf(letter.toLocaleLowerCase()) !== -1) items.keyboard.shiftKey = true; - else if (!isUpper && letters.indexOf(letter.toLocaleUpperCase()) !== -1) + else if (!isDigit && !isUpper && letters.indexOf(letter.toLocaleUpperCase()) !== -1) items.keyboard.shiftKey = true; else if (letters.indexOf(letter) === -1) - letters.push(level.words[i]); + letters.push(levelData[i]); } else { // We split each word in char to create the keyboard - for (var j = 0; j < level.words[i].length; j++) { - var letter = level.words[i].charAt(j); + for (var j = 0; j < levelData[i].length; j++) { + var letter = levelData[i].charAt(j); var isUpper = (letter == letter.toLocaleUpperCase()); if (isUpper && letters.indexOf(letter.toLocaleLowerCase()) !== -1) items.keyboard.shiftKey = true; else if (!isUpper && letters.indexOf(letter.toLocaleUpperCase()) !== -1) items.keyboard.shiftKey = true; else if (letters.indexOf(letter) === -1) - letters.push(level.words[i].charAt(j)); + letters.push(levelData[i].charAt(j)); } } } letters = GCompris.ApplicationInfo.localeSort(letters, items.locale); // generate layout from letter map var layout = new Array(); var row = 0; var offset = 0; - while (offset < letters.length-1) { + while (offset < letters.length) { var cols = letters.length <= 10 ? letters.length : (Math.ceil((letters.length-offset) / (3 - row))); layout[row] = new Array(); for (var j = 0; j < cols; j++) @@ -188,7 +194,7 @@ } items.keyboard.layout = layout; } - items.wordlist.initRandomWord(currentLevel + 1) + items.wordlist.randomWordList = Core.shuffle(levelData).slice(0) initSubLevel() } diff --git a/src/activities/smallnumbers2/ActivityInfo.qml b/src/activities/smallnumbers2/ActivityInfo.qml --- a/src/activities/smallnumbers2/ActivityInfo.qml +++ b/src/activities/smallnumbers2/ActivityInfo.qml @@ -37,5 +37,5 @@ credit: "" section: "math numeration" createdInVersion: 0 - levels: "1,2,3" + levels: "1,2,3,4,5,6,7" } diff --git a/src/activities/smallnumbers2/resource/1/Data.qml b/src/activities/smallnumbers2/resource/1/Data.qml --- a/src/activities/smallnumbers2/resource/1/Data.qml +++ b/src/activities/smallnumbers2/resource/1/Data.qml @@ -21,34 +21,40 @@ import "../../../../core" Dataset { - objective: qsTr("Select a number on dominoes up to 4") + objective: qsTr("Select a number on dominoes up to 3") difficulty: 1 data: [ { - "level" : "1", - "objective" : qsTr("Select the number on dominoes up to 2"), - "words" : [ - "1", - "2" - ] + "level" : "1", + "objective" : qsTr("Select the numbers 1 and 2"), + "words" : [ + "1", + "2" + ] }, { "level" : "2", - "objective" : qsTr("Select the number on dominoes up to 3"), + "objective" : qsTr("Select the number 3"), "words" : [ - "1", - "2", "3", + "3" ] }, { "level" : "3", - "objective" : qsTr("Select the number on dominoes up to 4"), + "objective" : qsTr("Select the number on dominoes from 2 to 3"), + "words" : [ + "2", + "3" + ] + }, + { + "level" : "4", + "objective" : qsTr("Select the number on dominoes from 1 to 3"), "words" : [ "1", "2", - "3", - "4" + "3" ] } ] diff --git a/src/activities/smallnumbers2/resource/2/Data.qml b/src/activities/smallnumbers2/resource/2/Data.qml --- a/src/activities/smallnumbers2/resource/2/Data.qml +++ b/src/activities/smallnumbers2/resource/2/Data.qml @@ -21,53 +21,42 @@ import "../../../../core" Dataset { - objective: qsTr("Select a number on dominoes up to 7") + objective: qsTr("Select a number on dominoes up to 4") difficulty: 2 data: [ { "level" : "1", - "objective" : qsTr("Select the number on dominoes up to 4"), + "objective" : qsTr("Select the number 4"), "words" : [ - "1", - "2", - "3", + "4", "4" - ] + ] }, { "level" : "2", - "objective" : qsTr("Select the number on dominoes up to 5"), + "objective" : qsTr("Select the number on dominoes from 3 to 4"), "words" : [ - "1", - "2", "3", - "4", - "5" + "4" ] }, { "level" : "3", - "objective" : qsTr("Select the number on dominoes up to 6"), + "objective" : qsTr("Select the number on dominoes from 2 to 4"), "words" : [ - "1", "2", "3", - "4", - "5", - "6" + "4" ] }, { "level" : "4", - "objective" : qsTr("Select the number on dominoes up to 7"), + "objective" : qsTr("Select the number on dominoes from 1 to 4"), "words" : [ "1", "2", "3", - "4", - "5", - "6", - "7" + "4" ] } ] diff --git a/src/activities/smallnumbers2/resource/3/Data.qml b/src/activities/smallnumbers2/resource/3/Data.qml --- a/src/activities/smallnumbers2/resource/3/Data.qml +++ b/src/activities/smallnumbers2/resource/3/Data.qml @@ -21,61 +21,53 @@ import "../../../../core" Dataset { - objective: qsTr("Select a number on dominoes up to 9") - difficulty: 3 - data: [ + objective: qsTr("Select a number on dominoes up to 5") + difficulty: 2 + data: [ { "level" : "1", - "objective" : qsTr("Select the number on dominoes up to 6"), + "objective" : qsTr("Select the number 5"), "words" : [ - "1", - "2", - "3", - "4", "5", - "6" - ] + "5" + ] }, { "level" : "2", - "objective" : qsTr("Select the number on dominoes up to 7"), + "objective" : qsTr("Select the number on dominoes from 4 to 5"), "words" : [ - "1", - "2", - "3", "4", - "5", - "6", - "7" + "5" ] }, { "level" : "3", - "objective" : qsTr("Select the number on dominoes up to 8"), + "objective" : qsTr("Select the number on dominoes from 3 to 5"), "words" : [ - "1", - "2", "3", "4", - "5", - "6", - "7", - "8" + "5" ] }, { "level" : "4", - "objective" : qsTr("Select the number on dominoes up to 9"), + "objective" : qsTr("Select the number on dominoes from 2 to 5"), + "words" : [ + "2", + "3", + "4", + "5" + ] + }, + { + "level" : "5", + "objective" : qsTr("Select the number on dominoes from 1 to 5"), "words" : [ "1", "2", "3", "4", - "5", - "6", - "7", - "8", - "9" + "5" ] } ] diff --git a/src/activities/smallnumbers2/resource/3/Data.qml b/src/activities/smallnumbers2/resource/4/Data.qml copy from src/activities/smallnumbers2/resource/3/Data.qml copy to src/activities/smallnumbers2/resource/4/Data.qml --- a/src/activities/smallnumbers2/resource/3/Data.qml +++ b/src/activities/smallnumbers2/resource/4/Data.qml @@ -1,9 +1,9 @@ /* GCompris - Data.qml * - * Copyright (C) 2019 Akshay Kumar + * Copyright (C) 2020 Shubham Mishra * * Authors: - * Akshay Kumar + * Shubham Mishra * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,61 +21,65 @@ import "../../../../core" Dataset { - objective: qsTr("Select a number on dominoes up to 9") - difficulty: 3 - data: [ + objective: qsTr("Select a number on dominoes up to 6") + difficulty: 3 + data: [ { "level" : "1", - "objective" : qsTr("Select the number on dominoes up to 6"), + "objective" : qsTr("Select the number 6"), + "words" : [ + "6", + "6" + ] + }, + { + "level" : "2", + "objective" : qsTr("Select the number on dominoes from 5 to 6"), + "words" : [ + "5", + "6" + ] + }, + { + "level" : "3", + "objective" : qsTr("Select the number on dominoes from 4 to 6"), "words" : [ - "1", - "2", - "3", "4", "5", "6" ] }, { - "level" : "2", - "objective" : qsTr("Select the number on dominoes up to 7"), + "level" : "4", + "objective" : qsTr("Select the number on dominoes from 3 to 6"), "words" : [ - "1", - "2", "3", "4", "5", - "6", - "7" + "6" ] }, { - "level" : "3", - "objective" : qsTr("Select the number on dominoes up to 8"), + "level" : "5", + "objective" : qsTr("Select the number on dominoes from 2 to 6"), "words" : [ - "1", "2", "3", "4", "5", - "6", - "7", - "8" + "6" ] }, { - "level" : "4", - "objective" : qsTr("Select the number on dominoes up to 9"), + "level" : "6", + "objective" : qsTr("Select the number on dominoes from 1 to 6"), "words" : [ "1", "2", "3", "4", "5", - "6", - "7", - "8", - "9" + "6" ] } ] diff --git a/src/activities/smallnumbers2/resource/3/Data.qml b/src/activities/smallnumbers2/resource/5/Data.qml copy from src/activities/smallnumbers2/resource/3/Data.qml copy to src/activities/smallnumbers2/resource/5/Data.qml --- a/src/activities/smallnumbers2/resource/3/Data.qml +++ b/src/activities/smallnumbers2/resource/5/Data.qml @@ -1,9 +1,9 @@ /* GCompris - Data.qml * - * Copyright (C) 2019 Akshay Kumar + * Copyright (C) 2020 Shubham Mishra * * Authors: - * Akshay Kumar + * Shubham Mishra * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,61 +21,78 @@ import "../../../../core" Dataset { - objective: qsTr("Select a number on dominoes up to 9") - difficulty: 3 - data: [ + objective: qsTr("Select a number on dominoes up to 7") + difficulty: 3 + data: [ { "level" : "1", - "objective" : qsTr("Select the number on dominoes up to 6"), + "objective" : qsTr("Select the number 7"), + "words" : [ + "7", + "7" + ] + }, + { + "level" : "2", + "objective" : qsTr("Select the number on dominoes from 6 to 7"), + "words" : [ + "6", + "7" + ] + }, + { + "level" : "3", + "objective" : qsTr("Select the number on dominoes from 5 to 7"), + "words" : [ + "5", + "6", + "7" + ] + }, + { + "level" : "4", + "objective" : qsTr("Select the number on dominoes from 4 to 7"), "words" : [ - "1", - "2", - "3", "4", "5", - "6" + "6", + "7" ] }, { - "level" : "2", - "objective" : qsTr("Select the number on dominoes up to 7"), + "level" : "5", + "objective" : qsTr("Select the number on dominoes from 3 to 7"), "words" : [ - "1", - "2", "3", "4", "5", "6", "7" ] }, { - "level" : "3", - "objective" : qsTr("Select the number on dominoes up to 8"), + "level" : "6", + "objective" : qsTr("Select the number on dominoes from 2 to 7"), "words" : [ - "1", "2", "3", "4", "5", "6", - "7", - "8" + "7" ] }, { - "level" : "4", - "objective" : qsTr("Select the number on dominoes up to 9"), + "level" : "7", + "objective" : qsTr("Select the number on dominoes from 1 to 7"), "words" : [ "1", "2", "3", "4", "5", "6", - "7", - "8", - "9" + "7" ] } ] diff --git a/src/activities/smallnumbers2/resource/3/Data.qml b/src/activities/smallnumbers2/resource/6/Data.qml copy from src/activities/smallnumbers2/resource/3/Data.qml copy to src/activities/smallnumbers2/resource/6/Data.qml --- a/src/activities/smallnumbers2/resource/3/Data.qml +++ b/src/activities/smallnumbers2/resource/6/Data.qml @@ -1,9 +1,9 @@ /* GCompris - Data.qml * - * Copyright (C) 2019 Akshay Kumar + * Copyright (C) 2020 Shubham Mishra * * Authors: - * Akshay Kumar + * Shubham Mishra * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,39 +21,71 @@ import "../../../../core" Dataset { - objective: qsTr("Select a number on dominoes up to 9") - difficulty: 3 - data: [ + objective: qsTr("Select a number on dominoes up to 8") + difficulty: 3 + data: [ { "level" : "1", - "objective" : qsTr("Select the number on dominoes up to 6"), + "objective" : qsTr("Select the number 8"), + "words" : [ + "8", + "8" + ] + }, + { + "level" : "2", + "objective" : qsTr("Select the number on dominoes from 7 to 8"), + "words" : [ + "7", + "8" + ] + }, + { + "level" : "3", + "objective" : qsTr("Select the number on dominoes from 6 to 8"), + "words" : [ + "6", + "7", + "8" + ] + }, + { + "level" : "4", + "objective" : qsTr("Select the number on dominoes from 5 to 8"), + "words" : [ + "5", + "6", + "7", + "8" + ] + }, + { + "level" : "5", + "objective" : qsTr("Select the number on dominoes from 4 to 8"), "words" : [ - "1", - "2", - "3", "4", "5", - "6" + "6", + "7", + "8" ] }, { - "level" : "2", - "objective" : qsTr("Select the number on dominoes up to 7"), + "level" : "6", + "objective" : qsTr("Select the number on dominoes from 3 to 8"), "words" : [ - "1", - "2", "3", "4", "5", "6", - "7" + "7", + "8" ] }, { - "level" : "3", - "objective" : qsTr("Select the number on dominoes up to 8"), + "level" : "7", + "objective" : qsTr("Select the number on dominoes from 2 to 8"), "words" : [ - "1", "2", "3", "4", @@ -64,18 +96,17 @@ ] }, { - "level" : "4", - "objective" : qsTr("Select the number on dominoes up to 9"), + "level" : "8", + "objective" : qsTr("Select the number on dominoes from 1 to 8"), "words" : [ "1", "2", "3", "4", "5", "6", "7", - "8", - "9" + "8" ] } ] diff --git a/src/activities/smallnumbers2/resource/7/Data.qml b/src/activities/smallnumbers2/resource/7/Data.qml new file mode 100644 --- /dev/null +++ b/src/activities/smallnumbers2/resource/7/Data.qml @@ -0,0 +1,128 @@ +/* GCompris - Data.qml + * + * Copyright (C) 2020 Shubham Mishra + * + * Authors: + * Shubham Mishra + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ +import "../../../../core" + +Dataset { + objective: qsTr("Select a number on dominoes up to 9") + difficulty: 3 + data: [ + { + "level" : "1", + "objective" : qsTr("Select the number 9"), + "words" : [ + "9", + "9" + ] + }, + { + "level" : "2", + "objective" : qsTr("Select the number on dominoes from 8 to 9"), + "words" : [ + "8", + "9" + ] + }, + { + "level" : "3", + "objective" : qsTr("Select the number on dominoes from 7 to 9"), + "words" : [ + "7", + "8", + "9" + ] + }, + { + "level" : "4", + "objective" : qsTr("Select the number on dominoes from 6 to 9"), + "words" : [ + "6", + "7", + "8", + "9" + ] + }, + { + "level" : "5", + "objective" : qsTr("Select the number on dominoes from 5 to 9"), + "words" : [ + "5", + "6", + "7", + "8", + "9" + ] + }, + { + "level" : "6", + "objective" : qsTr("Select the number on dominoes from 4 to 9"), + "words" : [ + "4", + "5", + "6", + "7", + "8", + "9" + ] + }, + { + "level" : "7", + "objective" : qsTr("Select the number on dominoes from 3 to 9"), + "words" : [ + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ] + }, + { + "level" : "8", + "objective" : qsTr("Select the number on dominoes from 2 to 9"), + "words" : [ + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ] + }, + { + "level" : "9", + "objective" : qsTr("Select the number on dominoes from 1 to 9"), + "words" : [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ] + } + ] +}