[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [gcompris/devel2] src/activities/imageid: imageid, uppon error the word is reproposed at the end of
From: Bruno Coudoin <bruno.coudoin () gcompris ! net>
Date: 2014-12-31 18:34:16
Message-ID: E1Y6O64-0001M6-DY () scm ! kde ! org
[Download RAW message or body]
Git commit 3e5c365ed01716dd22d89903ff8a9248ad07b01b by Bruno Coudoin.
Committed on 19/12/2014 at 21:58.
Pushed by bcoudoin into branch 'devel2'.
imageid, uppon error the word is reproposed at the end of the list
M +2 -0 src/activities/imageid/Imageid.qml
M +19 -3 src/activities/imageid/imageid.js
http://commits.kde.org/gcompris/3e5c365ed01716dd22d89903ff8a9248ad07b01b
diff --git a/src/activities/imageid/Imageid.qml b/src/activities/imageid/Imageid.qml
index 67b7785..5dfc9e5 100644
--- a/src/activities/imageid/Imageid.qml
+++ b/src/activities/imageid/Imageid.qml
@@ -76,6 +76,7 @@ ActivityBase {
property alias wordListModel: wordListModel
property alias parser: parser
property variant goodWord
+ property int goodWordIndex
function playWord() {
activity.audioVoices.append(ApplicationInfo.getAudioFilePath(goodWord.voice))
@@ -178,6 +179,7 @@ ActivityBase {
textLabel: word
isCorrectAnswer: word === items.goodWord.translatedTxt
+ onIncorrectlyPressed: Activity.badWordSelected(items.goodWordIndex);
onCorrectlyPressed: Activity.nextSubLevel();
}
}
diff --git a/src/activities/imageid/imageid.js b/src/activities/imageid/imageid.js
index e5d9138..e0dddb4 100755
--- a/src/activities/imageid/imageid.js
+++ b/src/activities/imageid/imageid.js
@@ -36,6 +36,7 @@ var baseUrl = "qrc:/gcompris/src/activities/imageid/resource/";
var dataset = null;
var lessons
var wordList
+var subLevelsLeft
function init(items_) {
items = items_;
@@ -68,14 +69,23 @@ function initLevel() {
maxSubLevel = wordList.length;
items.score.numberOfSubLevels = maxSubLevel;
+ items.score.visible = true
+ subLevelsLeft = []
+ for(var i in wordList)
+ subLevelsLeft.push(i)
initSubLevel()
}
function initSubLevel() {
// initialize sublevel
- items.score.currentSubLevel = currentSubLevel + 1;
- items.goodWord = wordList[currentSubLevel]
+ if(items.score.currentSubLevel < items.score.numberOfSubLevels)
+ items.score.currentSubLevel = currentSubLevel + 1;
+ else
+ items.score.visible = false
+
+ items.goodWordIndex = subLevelsLeft.pop()
+ items.goodWord = wordList[items.goodWordIndex]
var selectedWords = []
selectedWords.push(items.goodWord.translatedTxt)
@@ -112,9 +122,15 @@ function previousLevel() {
}
function nextSubLevel() {
- if( ++currentSubLevel >= maxSubLevel) {
+ ++currentSubLevel
+ if(subLevelsLeft.length === 0) {
items.bonus.good("smiley")
} else {
initSubLevel();
}
}
+
+// Append to the queue of words for the sublevel the error
+function badWordSelected(wordIndex) {
+ subLevelsLeft.unshift(wordIndex)
+}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic