gcompris / GCompris-qt

GCompris in Qt Quick - Mirror of https://invent.kde.org/education/gcompris
225 stars 169 forks source link

Ascending order activity #172

Closed RudraNilBasu closed 6 years ago

RudraNilBasu commented 7 years ago

Ascending order activity

Given few randomly generated numbers, user will have to click on the numbers in ascending order.

allon49 commented 7 years ago

Hi Rudra,

I had a look to your number ordering activity. For me it is a very good idea. Ordering activity is one of the most efficient activity to check if a kid has understood the decimal system (121 is bigger than 12 for example). I tryed your activity and would like to suggest some improvments.

1- It should have a ok button for the kid to confirm when he is ready to validate. 2- Johnny found an application on the web which is exactly what I would like to see on gcompris. You can reproduce the behaviour using flow:

http://doc.qt.io/qt-4.8/qml-flow.html

3- There should be options like in the web application to match to different ages. You can have a look to divyam categorisation to see how he manages settings.

Good luck,

Emmanuel

RudraNilBasu commented 7 years ago

@petitlapin @allon49 In the ascending order activity:

  1. The items are moved by drag and drop to reposition the items
  2. The tiles are now shifted for repositioning instead of swapping the positions
  3. There is an ok button to allow the user to confirm when ready
  4. There are 4 levels each with 3 sub levels, the sub levels are of the same difficulty (difficulty in the form of number of tiles and the range of numbers)
petitlapin commented 7 years ago

Hi, globally it's good (I have to take a closer look at the code). Can you add the sublevel score (Score item in the core folder)? Also, click on next/previous should change the level (and reset the current sublevel). I would put the ok button above the bar too, else when resizing, they override

Thank you,

Johnny

divyam3897 commented 7 years ago

hi, I faced one more issue while playing it, for the extreme numbers (corner ones) if I drag a number beyond them then number came back and it was placed at the required position only if a portion of it overlapped with the corner number. Shouldn't the number be placed ahead of it (at its desired position) in that case?

Thank you Divyam Madaan

RudraNilBasu commented 7 years ago

@divyam3897 hi, the numbers will change the position (and the others will shift back or front) only when one tile is placed over another tile (not exactly over, a minimum distance is maintained). In that case, the dragged number will occupy the position of the tile on which it was dragged and the rest of them will get shifted accordingly. So, if a tile is dragged to the extreme corner, it crosses the minimum distance and hence it comes back to the original position.

divyam3897 commented 7 years ago

I did a screenshot for some cases.

  1. http://pasteboard.co/EehVhPRf2.png In this I was able to produce a gap between the numbers which should not be the case? (was not always reproducible but occured at times)
  2. http://pasteboard.co/EejDEXNZv.png In this the tile (29 the one being dragged) is pretty close and maybe should not go back?
RudraNilBasu commented 7 years ago

@divyam3897

  1. I didn't get the first case. Do the tiles remain in that way (separated by a space) after dropping a tile (after the mouse is released)? In that case is there any specific way by which it can be reproduced? Also, which number is being dragged in this case? Strange. This type of thing never actually occurred to me.

  2. This one is okay. The 29 tile should be placed over the 74 tile in order to change the positions. The minimum distance is less in this case because had there been another tile on the left of 74, then the 29 tile should have occupied that position. The aim is to place a tile over the tile where it should belong.

allon49 commented 7 years ago

Hi, Divyam, did you do the screenshot while dragging? Emmanuel

2017-03-01 17:55 GMT+01:00 Rudra Nil Basu notifications@github.com:

@divyam3897 https://github.com/divyam3897

1.

I didn't get the first case. Do the tiles remain in that way (separated by a space) after dropping a tile (after the mouse is released)? In that case is there any specific way by which it can be reproduced? Also, which number is being dragged in this case? Strange. This type of thing never actually occurred to me. 2.

This one is okay. The 29 tile should be placed over the 74 tile in order to change the positions. The minimum distance is less in this case because had there been another tile on the left of 74, then the 29 tile should have occupied that position. The aim is to place a tile over the tile where it should belong.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gcompris/GCompris-qt/pull/172#issuecomment-283399751, or mute the thread https://github.com/notifications/unsubscribe-auth/AHJUIOxRcGPzbbmqJUhxrWFeiGXCDJ6cks5rhaMNgaJpZM4LbEQo .

RudraNilBasu commented 7 years ago

@petitlapin Following changes were made:

  1. demo is set to true
  2. updated intro
  3. Removed credit and unused imports
  4. Added sub level score
  5. Click on next/previous changes the level, while updating current sub level to zero
  6. Repositioned ok button so that it doesn't get overridden by the bar.
divyam3897 commented 7 years ago

@allon49 yes, In one case the card returned back after the screenshot and in the other it stayed there, creating an empty place. @RudraNilBasu The sublevel count also may need to be repositioned? It gets hidden in case of small screen size http://pasteboard.co/Ey6QDoCx7.png

RudraNilBasu commented 7 years ago

Repositioned the sub level score to avoid getting hidden under the bar for small screen sizes.

The card coming back is normal, since it is not over any other card and it is going outside the play area once released, so the move is invalid and thus returns back to the original position.

The card staying there is quite surprising. Does the problem still persist ? Strange, I can't seem to reproduce it in any way.

On Thu, 2 Mar 2017, divyam3897 wrote:

@allon49 yes, In one case the card returned back after the screenshot and in the other it stayed there, creating an empty place. @RudraNilBasu The sublevel count also may need to be repositioned? It gets hidden in case of small screen size http://pasteboard.co/Ey6QDoCx7.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.[AMJ3zw7lt7uvGrmmgK9rVOnFRbHsvIPMks5rhqpTgaJpZM4LbEQo.gif]

RudraNilBasu commented 7 years ago

@petitlapin Following changes were made:

RudraNilBasu commented 7 years ago

@petitlapin I have changed the alphabets activity to support various languages other than english. Also, for testing purposes, I have tested it by replacing

var letters = qsTr("a/b/c/d..../z")

with

var letters = qsTr("À/à/Â/â/Æ/æ/Ç/ç/È/è/É/é/Ê/ê/Ë/ë/Î/î/Ï/ï/Ô/ô/Œ/œ/Ù/ù/Û/û/Ü/ü/«/»/€/₣")
allon49 commented 7 years ago

there are many things to be sorted I think we should have three activities called sorting 1- numerical sorting 2- alphabetical sorting 3- measures sorting in numerical one I would see it presented like in categorisation activity offering different categories to sort 1- > 1 to 9 2- 1-99 3- 1-999 4- 1-99999 5- 1-999 999 999 that would be for increase order. Same thing for decrease order. In french teaching system the first one is aimed to <6 years old the second one 6-7 years old then 8-9 then 9-10 etc. We would have the same for decreasing In measures we would be ordering km dm cm etc size, weight, etc then in alphabetical order 1- single letter a b c 2- two letters ab ac bc bg 3- real words plane - planning - planification

petitlapin commented 7 years ago

@allon49 if we do like that, we need to think of other activities where it could be applied to (not for this PR but it could be in the improvements section). With one generic submenu, if we manage to load datasets easily, then we can think of having the difficulty for each category instead at activity level (which would not make sense on this case as the activity level is more global than only a 2 years old span). For the real words, it would need a new specific dataset so for now, I guess it could be a future improvement. The question is to know if we do a first version like the current one (so each level corresponds to a range and we have sublevels in it) or do we directly do the menu one (but it would need to be generic enough to be "easily" adapted to the activities that need it)?

petitlapin commented 6 years ago

Merged in ascending_order branch to continue the work