File indexing completed on 2024-04-28 15:07:45

0001 /* GCompris - braille_fun.js
0002  *
0003  * SPDX-FileCopyrightText: 2014 Arkit Vora <arkitvora123@gmail.com>
0004  *
0005  * Authors:
0006  *   Srishti Sethi (GTK+ version)
0007  *   Arkit Vora <arkitvora123@gmail.com> (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 numberOfLevel = 3
0016 var items
0017 var maxSubLevel;
0018 var set = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
0019 var questionArray = [];
0020 
0021 var url = "qrc:/gcompris/src/activities/braille_fun/resource/"
0022 
0023 function start(items_ ) {
0024     items = items_
0025     items.currentLevel = Core.getInitialLevel(numberOfLevel)
0026     initLevel()
0027 }
0028 
0029 function stop() {
0030     items.animateX.stop()
0031 }
0032 
0033 function initQuestion() {
0034     items.question = questionArray[items.score.currentSubLevel]
0035     items.charBg.clickable(true)
0036     items.charBg.clearAllLetters()
0037     items.animateX.restart()
0038 }
0039 
0040 function nextQuestion() {
0041     if(items.score.currentSubLevel >= items.score.numberOfSubLevels) {
0042         items.bonus.good("tux");
0043     } else {
0044         initQuestion();
0045     }
0046 }
0047 
0048 function initLevel() {
0049     items.score.numberOfSubLevels = set.length;
0050     items.score.currentSubLevel = 0;
0051     questionArray = []
0052 
0053     switch(items.currentLevel) {
0054     case 0:
0055         for(var i = 0;  i < set.length; i++) {
0056             questionArray[i] = set[i];
0057         }
0058         break
0059     case 1:
0060         for(var i = 0;  i < set.length; i++) {
0061             questionArray[i] = set[i] +
0062                     set[Math.floor(Math.random() * set.length)];
0063         }
0064         break
0065     case 2:
0066         for(var i = 0;  i < set.length; i++) {
0067             questionArray[i] = set[i] +
0068                     set[Math.floor(Math.random() * set.length)] +
0069                     set[Math.floor(Math.random() * set.length)];
0070         }
0071         break
0072     }
0073 
0074     initQuestion()
0075     items.cardRepeater.model = items.currentLevel + 1;
0076 }
0077 
0078 function goodAnswer() {
0079     items.score.currentSubLevel++
0080     items.score.playWinAnimation()
0081     items.audioEffects.play("qrc:/gcompris/src/core/resource/sounds/completetask.wav");
0082 }
0083 
0084 function nextLevel() {
0085     items.score.stopWinAnimation();
0086     items.currentLevel = Core.getNextLevel(items.currentLevel, numberOfLevel);
0087     initLevel();
0088 }
0089 
0090 function previousLevel() {
0091     items.score.stopWinAnimation();
0092     items.currentLevel = Core.getPreviousLevel(items.currentLevel, numberOfLevel);
0093     initLevel();
0094 }