diff --git a/src/activities/letter-in-word/ActivityInfo.qml b/src/activities/letter-in-word/ActivityInfo.qml --- a/src/activities/letter-in-word/ActivityInfo.qml +++ b/src/activities/letter-in-word/ActivityInfo.qml @@ -33,7 +33,7 @@ //: Help prerequisite prerequisite: qsTr("spellings, letter recognition") //: Help manual - manual: "" + manual: qsTr("A letter is displayed on the flag attached with the plane, use the mouse to select all the words or the objects in which the letter appears and then press OK.") credit: "" section: "reading" createdInVersion: 7000 diff --git a/src/activities/numbers-odd-even/NumbersOddEven.qml b/src/activities/numbers-odd-even/NumbersOddEven.qml --- a/src/activities/numbers-odd-even/NumbersOddEven.qml +++ b/src/activities/numbers-odd-even/NumbersOddEven.qml @@ -19,8 +19,10 @@ import QtQuick 2.6 import "../planegame" + Planegame { + dataset: [ { data: "0 2 4 6 8 10 12 14 16 18 20".split(" "), @@ -39,4 +41,33 @@ showNext: false } ] + + tutorialInstructions: [ + { + "instruction": qsTr("This activity teaches about even and odd numbers."), + "instructionQml": "" + }, + { + "instruction": qsTr("Even numbers are numbers which leave remainder 0 when divisible by 2."), + "instructionQml" : "qrc:/gcompris/src/activities/numbers-odd-even/resource/tutorial1.qml" + }, + { + "instruction": qsTr("Odd numbers are numbers which do not leave remainder 0 when divisible by 2."), + "instructionQml": "qrc:/gcompris/src/activities/numbers-odd-even/resource/tutorial2.qml" + }, + { + "instruction": qsTr("Exercise: \n To test your understanding."), + "instructionQml": "qrc:/gcompris/src/activities/numbers-odd-even/resource/tutorial3.qml" + }, + { + "instruction": qsTr("Exercise: \n To test your understanding."), + "instructionQml": "qrc:/gcompris/src/activities/numbers-odd-even/resource/tutorial4.qml" + }, + { + "instruction": qsTr("Exercise \n To test your understanding."), + "instructionQml": "qrc:/gcompris/src/activities/numbers-odd-even/resource/tutorial3.qml" + } + + ] + } diff --git a/src/activities/numbers-odd-even/resource/tutorial1.qml b/src/activities/numbers-odd-even/resource/tutorial1.qml new file mode 100644 --- /dev/null +++ b/src/activities/numbers-odd-even/resource/tutorial1.qml @@ -0,0 +1,43 @@ +/* GCompris - tutorial1.qml + * + * Copyright (C) 2019 Deepak Kumar + * + * Authors: + * Deepak Kumar + * + * 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 QtQuick 2.6 +import GCompris 1.0 + +import "../../../core" + +Rectangle { + anchors.fill: parent + color: "#80FFFFFF" + + GCText { + id: even + text: qsTr("For example: 12, 38, 52, 68, 102, 118, 168, 188, 502, 532, 700, 798, 842, 892 , 1000.All of these numbers are even numbers as they leave remainder 0 when divisible by 2.") + fontSizeMode: Text.Fit + color: "black" + minimumPixelSize: 10 + horizontalAlignment: Text.AlignLeft + width: Math.min(implicitWidth, 0.8 * parent.width) + height: Math.min(implicitHeight, 0.5 * parent.height) + wrapMode: Text.WordWrap + z: 2 + } +} diff --git a/src/activities/numbers-odd-even/resource/tutorial2.qml b/src/activities/numbers-odd-even/resource/tutorial2.qml new file mode 100644 --- /dev/null +++ b/src/activities/numbers-odd-even/resource/tutorial2.qml @@ -0,0 +1,42 @@ +/* GCompris - tutorial2.qml + * + * Copyright (C) 2019 Deepak Kumar + * + * Authors: + * Deepak Kumar + * + * 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 QtQuick 2.6 +import GCompris 1.0 + +import "../../../core" + +Rectangle { + anchors.fill: parent + color: "#80FFFFFF" + + GCText { + id: odd + text: qsTr("For example: 15, 19, 51, 65, 103, 119, 169, 185, 505, 533, 701, 799, 845, 897, 1001.All of these numbers are odd numbers as they do not leave remainder 0 when divisible by 2.") + fontSizeMode: Text.Fit + color: "black" + horizontalAlignment: Text.AlignLeft + width: Math.min(implicitWidth, 0.8 * parent.width) + height: Math.min(implicitHeight, 0.5 * parent.height) + wrapMode: Text.WordWrap + z: 2 + } + } diff --git a/src/activities/numbers-odd-even/resource/tutorial3.qml b/src/activities/numbers-odd-even/resource/tutorial3.qml new file mode 100644 --- /dev/null +++ b/src/activities/numbers-odd-even/resource/tutorial3.qml @@ -0,0 +1,129 @@ +/* GCompris - tutorial3.qml + * + * Copyright (C) 2019 Deepak Kumar + * + * Authors: + * Deepak Kumar + * + * 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 QtQuick 2.6 +import GCompris 1.0 + +import "../../../core" + +Rectangle { + id:rect1 + anchors.fill: parent + color: "#80FFFFFF" + + GCText { + id: question + anchors{ + left: parent.left + verticalCenter: parent.verticalCenter + leftMargin: parent.height * 0.1 + centerIn: parent.Center + top: parent.top + topMargin: parent.height * 0.05 + } + text: qsTr( "Choose the even number") + font.pixelSize: parent.height * 0.15 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 1.8 * parent.width + height: 1.8 * parent.height + z: 2 + } + + GCText { + id:evenNumber + anchors { + left: parent.left + top: parent.top + topMargin: parent.width * 0.1 + leftMargin: parent.width * 0.2 + } + text: "2" + font.pixelSize: parent.height * 0.4 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.9 * parent.width + height: 0.8 * parent.height + z: 2 + + MouseArea { + anchors.fill: parent + onClicked: rightmessage.visible = true + } + } + + GCText { + id: oddNumber + anchors { + left: parent.left + top: parent.top + topMargin: parent.width * 0.1 + leftMargin: parent.width * 0.6 + } + text: "5" + font.pixelSize: parent.height * 0.4 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.9 * parent.width + height: 0.9 * parent.height + z: 2 + + MouseArea { + anchors.fill: parent + onClicked: wrongmessage.visible = true + } + } + + GCText { + id: rightmessage + anchors { + top: parent.bottom + left: parent.left + leftMargin: parent.height * 0.4 + } + text: qsTr("Great") + font.pixelSize: parent.height * 0.3 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.9 * parent.width + height: 0.9 * parent.height + visible:false + z: 2 + } + + GCText { + id: wrongmessage + anchors { + top: parent.bottom + left: parent.left + leftMargin: parent.height * 0.4 + } + text: qsTr("No,this is not an even number") + font.pixelSize: parent.height * 0.1 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.6 * parent.width + height: 0.6 * parent.height + visible: false + z: 2 + } + } + diff --git a/src/activities/numbers-odd-even/resource/tutorial4.qml b/src/activities/numbers-odd-even/resource/tutorial4.qml new file mode 100644 --- /dev/null +++ b/src/activities/numbers-odd-even/resource/tutorial4.qml @@ -0,0 +1,139 @@ +/* GCompris - tutorial4.qml + * + * Copyright (C) 2019 Deepak Kumar + * + * Authors: + * Deepak Kumar + * + * 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 QtQuick 2.6 +import GCompris 1.0 + +import "../../../core" + +import "../resource/tutorial3.qml" + + + +GCText { + + evenNumber.text :"8" +} + + +/*Rectangle { + id:rect1 + anchors.fill: parent + color: "#80FFFFFF" + + GCText { + id: question + anchors{ + left: parent.left + verticalCenter: parent.verticalCenter + leftMargin: parent.height * 0.1 + centerIn: parent.Center + top: parent.top + topMargin: parent.height * 0.05 + } + text: qsTr( "Choose the even number") + font.pixelSize: parent.height * 0.15 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 1.8 * parent.width + height: 1.8 * parent.height + z: 2 + } + + GCText { + id:evenNumber + anchors { + left: parent.left + top: parent.top + topMargin: parent.width * 0.1 + leftMargin: parent.width * 0.2 + } + text: "52" + font.pixelSize: parent.height * 0.4 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.9 * parent.width + height: 0.8 * parent.height + z: 2 + + MouseArea { + anchors.fill: parent + onClicked: rightmessage.visible = true + } + } + + GCText { + id: oddNumber + anchors { + left: parent.left + top: parent.top + topMargin: parent.width * 0.1 + leftMargin: parent.width * 0.6 + } + text: "59" + font.pixelSize: parent.height * 0.4 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.9 * parent.width + height: 0.9 * parent.height + z: 2 + + MouseArea { + anchors.fill: parent + onClicked: wrongmessage.visible = true + } + } + + GCText { + id: rightmessage + anchors{ + top: parent.bottom + left: parent.left + leftMargin: parent.height * 0.4 + } + text: qsTr("Great") + font.pixelSize: parent.height * 0.3 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.9 * parent.width + height: 0.9 * parent.height + visible:false + z: 2 + } + + GCText { + id: wrongmessage + anchors{ + top: parent.bottom + left: parent.left + leftMargin: parent.height * 0.4 + } + text: qsTr("No,this is not an even number") + font.pixelSize: parent.height * 0.1 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.6 * parent.width + height: 0.6 * parent.height + visible: false + z: 2 + } + } +*/ diff --git a/src/activities/numbers-odd-even/resource/tutorial5.qml b/src/activities/numbers-odd-even/resource/tutorial5.qml new file mode 100644 --- /dev/null +++ b/src/activities/numbers-odd-even/resource/tutorial5.qml @@ -0,0 +1,129 @@ +/* GCompris - tutorial5.qml + * + * Copyright (C) 2019 Deepak Kumar + * + * Authors: + * Deepak Kumar + * + * 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 QtQuick 2.6 +import GCompris 1.0 + +import "../../../core" + +Rectangle { + id:rect1 + anchors.fill: parent + color: "#80FFFFFF" + + GCText { + id: question + anchors{ + left: parent.left + verticalCenter: parent.verticalCenter + leftMargin: parent.height * 0.1 + centerIn: parent.Center + top: parent.top + topMargin: parent.height * 0.05 + } + text: qsTr( "Choose the even number") + font.pixelSize: parent.height * 0.15 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 1.8 * parent.width + height: 1.8 * parent.height + z: 2 + } + + GCText { + id:evenNumber + anchors { + left: parent.left + top: parent.top + topMargin: parent.width * 0.1 + leftMargin: parent.width * 0.1 + } + text: "108" + font.pixelSize: parent.height * 0.4 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.9 * parent.width + height: 0.8 * parent.height + z: 2 + + MouseArea { + anchors.fill: parent + onClicked: rightmessage.visible = true + } + } + + GCText { + id: oddNumber + anchors { + left: parent.left + top: parent.top + topMargin: parent.width * 0.1 + leftMargin: parent.width * 0.6 + } + text: "111" + font.pixelSize: parent.height * 0.4 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.9 * parent.width + height: 0.9 * parent.height + z: 2 + + MouseArea { + anchors.fill: parent + onClicked: wrongmessage.visible = true + } + } + + GCText { + id: rightmessage + anchors{ + top: parent.bottom + left: parent.left + leftMargin: parent.height * 0.4 + } + text: qsTr("Great") + font.pixelSize: parent.height * 0.3 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.9 * parent.width + height: 0.9 * parent.height + visible:false + z: 2 + } + + GCText { + id: wrongmessage + anchors{ + top: parent.bottom + left: parent.left + leftMargin: parent.height * 0.4 + } + text: qsTr("No,this is not an even number") + font.pixelSize: parent.height * 0.1 + color: "black" + horizontalAlignment: Text.AlignLeft + width: 0.6 * parent.width + height: 0.6 * parent.height + visible: false + z: 2 + } + } + diff --git a/src/activities/numbers-odd-even/resource/tutorialBase.qml b/src/activities/numbers-odd-even/resource/tutorialBase.qml new file mode 100644 --- /dev/null +++ b/src/activities/numbers-odd-even/resource/tutorialBase.qml @@ -0,0 +1,5 @@ +import QtQuick 2.0 + +Item { + +} diff --git a/src/activities/planegame/Planegame.qml b/src/activities/planegame/Planegame.qml --- a/src/activities/planegame/Planegame.qml +++ b/src/activities/planegame/Planegame.qml @@ -29,13 +29,18 @@ id: activity focus: true - onStart: { focus = true; } + onStart: { focus = true;} onStop: { } Keys.onPressed: Activity.processPressedKey(event) Keys.onReleased: Activity.processReleasedKey(event) property var dataset + property var tutorialInstructions + + + + property int oldWidth: width onWidthChanged: { @@ -51,18 +56,20 @@ oldHeight = height } + pageComponent: Image { id: background anchors.fill: parent signal start signal stop source: Activity.url + "../algorithm/resource/desert_scene.svg" sourceSize.width: parent.width - Component.onCompleted: { - activity.start.connect(start) - activity.stop.connect(stop) + Component.onCompleted:{ + activity.start.connect(start) + activity.stop.connect(stop) } + QtObject { id: items property alias background: background @@ -74,9 +81,34 @@ property GCSfx audioEffects: activity.audioEffects property alias movePlaneTimer: movePlaneTimer property alias cloudCreation: cloudCreation + property alias tutorialSection: tutorialSection } - onStart: Activity.start(items, dataset) - onStop: Activity.stop(); + + onStart:{ Activity.start(items, dataset)} + onStop: { Activity.stop() } + + + // Tutorial section starts + Image { + id: tutorialImage + source: "../digital_electricity/resource/texture01.png" + anchors.fill: parent + fillMode: Image.Tile + z: 5 + visible: true + Tutorial { + id: tutorialSection + tutorialDetails: tutorialInstructions + useImage: false + onSkipPressed: { + Activity.initLevel() + tutorialImage.visible = false + } + } + } + + // Tutorial section ends + MultiPointTouchArea { anchors.fill: parent @@ -109,7 +141,6 @@ Score { id: score - visible: false fontSize: background.width >= background.height ? internalTextComponent.largeSize : internalTextComponent.mediumSize height: internalTextComponent.height + 10 anchors.bottom: bar.top diff --git a/src/core/Tutorial.qml b/src/core/Tutorial.qml --- a/src/core/Tutorial.qml +++ b/src/core/Tutorial.qml @@ -56,8 +56,7 @@ property var tutorialDetails /* Do we use image or qml files for illustrations */ - - property bool useImage : true + property bool useImage: true // Emitted when skipButton is clicked signal skipPressed @@ -166,7 +165,7 @@ // Image component for tutorial instructions Image { id: tutorialImage - enabled: useImage + visible: useImage width: parent.width * 0.8 height: (parent.height - nextButton.height) * 0.48 fillMode: Image.PreserveAspectFit @@ -177,7 +176,7 @@ horizontalCenter: parent.horizontalCenter } } - + // Alternative QML component for tutorial instructions Loader { id: tutorialQml @@ -191,5 +190,4 @@ horizontalCenter: parent.horizontalCenter } } - }