File indexing completed on 2024-04-28 15:07:57
0001 /* GCompris - mosaic.js 0002 * 0003 * SPDX-FileCopyrightText: 2014 Bruno Coudoin 0004 * 0005 * Authors: 0006 * Clement coudoin <clement.coudoin@free.fr> (GTK+ version) 0007 * Bruno.coudoin <bruno.coudoin@gcompris.net> (Qt Quick port) 0008 * 0009 * SPDX-License-Identifier: GPL-3.0-or-later 0010 */ 0011 .pragma library 0012 .import QtQuick 2.12 as Quick 0013 .import "qrc:/gcompris/src/core/core.js" as Core 0014 0015 var questionModel 0016 var answerModel 0017 var selectorModel 0018 0019 var url = "qrc:/gcompris/src/activities/mosaic/resource/" 0020 0021 var numberOfLevel 0022 var items 0023 0024 function start(items_) { 0025 items = items_ 0026 numberOfLevel = items.levels.length 0027 items.currentLevel = Core.getInitialLevel(numberOfLevel) 0028 initLevel() 0029 } 0030 0031 function stop() { 0032 } 0033 0034 function initLevel() { 0035 items.background.areaWithKeyboardFocus = items.selector 0036 items.selectedItem = "" 0037 items.nbItems = items.levels[items.currentLevel].nbOfCells 0038 items.questionLayoutColumns = items.levels[items.currentLevel].layout[0][0] 0039 items.questionLayoutRows = items.levels[items.currentLevel].layout[0][1] 0040 items.modelDisplayLayout = items.levels[items.currentLevel].modelDisplayLayout 0041 selectorModel = items.levels[items.currentLevel].images 0042 0043 items.selector.model = selectorModel 0044 questionModel = Core.shuffle(selectorModel) 0045 items.question.model = questionModel 0046 0047 answerModel = new Array() 0048 for(var i=0; i < questionModel.length; i++) 0049 answerModel.push("dice_0.svg") 0050 items.answer.model = answerModel 0051 0052 } 0053 0054 function nextLevel() { 0055 items.currentLevel = Core.getNextLevel(items.currentLevel, numberOfLevel) 0056 initLevel(); 0057 } 0058 0059 function previousLevel() { 0060 items.currentLevel = Core.getPreviousLevel(items.currentLevel, numberOfLevel); 0061 initLevel(); 0062 } 0063 0064 function answerSelected(index) { 0065 if(!items.selectedItem) 0066 return 0067 0068 items.audioEffects.play("qrc:/gcompris/src/activities/redraw/resource/brush.wav") 0069 answerModel[index] = items.selectedItem 0070 items.answer.model = answerModel 0071 0072 if(answerModel.toString() === questionModel.toString()) { 0073 items.bonus.good("flower") 0074 } 0075 }