- The development of the project TAPLEARN using the library PyGame was stopped on [2015-03-17 Tue], because
- The development of the library PyGame for Android is not active anymore, and that it was replaced by kivy, which supports other platforms than Android, such as kivy; and
- The name taplearn was already taken by http://wwww.taplearn.com.
- As a conclusion, it was decided to
- Start a new project with the name of
TapMemory
, which- does not seem to be taken yet and
- is closer anyway to the memory-related objectives of the application; and
- to restart it from scratch as another github project
- using the library kivy,
- potentially reusing the milestones and references developped for TapLearn, and
- maybe using the project ankidroid, also on github, to better interface it with the flashcards from Anki.
- Leave the sources of this project available, so that to be reused
- Start a new project with the name of
- if PyGame gets new support or
- if someone wishes to develop a similar game just for linux.
Once finished, <<<TapLearn>>> should have been a generic example of pedagogical application with a touch interface, to be used to study the effect of various features on both persistence and learning. In its most basic version, the application downloads a sequence of predicates from a server, present them to the learner in a random order, each to be validated or refuted by the learner, gives feedback to the user and submits the user’s answers to a central server for later studies. The features envisioned include the addition of animations, colors, sounds, spaced memorization techniques. The studies envisioned include the effect of those features on <<<persistence>>> (how frequently and how long the learner uses the application) and <<<learning>>> (how fast the learner progresses in his/her learning).
For more information, see the wiki page of the project at https://github.com/jyby/taplearn/wiki
- [X] Prototype with game interface:
- [X] Randomly generate predicates on addition and/or multiplications,
- [X] presents predicates, scrolling from the top of the screen to the bottom,
- [X] detects the answer from the learner,
- [X] gives feedback to the learner.
- [X] REFACTORING
- [X] Prototype with three pages:
- [X] page “Menu”
- [X] page “Game”
- [X] page “Stats”
- [X] page “Info”
- [X] REFACTORING
- [-] Prototype installed on an Android device
- [X] INSTALL Python 2.7 (PGS4A is not compatible with Python 3 at this time.)
- [X] INSTALL Java Development Kit.
- [X] INSTALL Android Device Drivers.
- [X] INSTALL PyGame for Android (PGS4A) following instructions from http://pygame.renpy.org/
- ./android.py test
- [ ] Generate APK following instructions from http://pygame.renpy.org/
SEEMS THAT PYGAME 4 Android IS BROKEN AND THAT KIVY TOOK ITS PLACE
- [ ] Upload APK on Android phone or in simulator
- [ ] Prototype with local database
- [ ] initially fill the local database with randomly generated predicates
- [ ] request predicates from the local databases
- [ ] update statistics of each predicates in the local database
- [ ] REFACTORING
- [ ] Prototype with Flash Cards
- [ ] Show at first one face of the card, then
- [ ] the second face of the card when the learner press a key
- [ ] ?Load flash cards from an Anki Deck?
- [ ] REFACTORING
- [ ] Prototype with Network connection
- [ ] add button “Synch”
- [ ] Query predicates from server
- [ ] Send statistics to server
- [ ] REFACTORING
- [ ] Release of Beta and Have it Tested by first users
- [ ] improved “Flash Card” Game Play:
- [ ] Each challenges consists of a random mix of two pairs.
- a mix of two flashcards (A,A’) and (B,B’)
- a random choice between proposals which are
- correct: (A,A’) or (B,B’) and
- incorrect: (A,B’) or (B,A’)
- [ ] First side (A or B) of Flashcard scrolls down (maybe oscillatin as autumn leaf)
- [ ] when learner presses the screen, the proposed side (A’ or B’) of the flashcard is shown
- [ ] if the learner depresses
- on the same spot, back to initial state
- on the right, he accepts the proposal
- on the left, he refuses it
- on the bottom, he skips it because he does not know
- on the top, he flags it as inadequate
- [ ] after having slided,
- the correct answer(s) are shown:
- Only (A,A’) or (B,B’) if that was the proposal
- Both (A,A’) and (B,B’) if the proposal was a mix.
- the graphic interface makes it clear if the learner’s answer was correct.
- if the answer was incorrect, the interface waits for another click from the learner
- [ ] REFACTORING
- [ ] alternate “Memory” Game Play:
- [ ] Fix some parameters n,m
- [ ] Generate
$nm$ flash cards in an array of n by m - [ ] Draw a random permutation of [1..2nm] so that each position in a 2n by m array is mapped to a side A or A’ of one of the
$nm$ flashcards. - [ ] Display
$2*nm$ rectangles representing hidden cards, with space for two close-ups below. - [ ] Wait for the learner to click on a first rectangle,
- [ ] identify which one, and
- [ ] display the corresponding side of a flashcard
- [ ] Wait for the learner to click on a second rectangle.
- [ ] identify which one, and
- [ ] display the corresponding side of a flashcard;
- [ ] Check if the two cards match
- [ ] if they are from the same pair, or
- [ ] if they are from distinct pairs but are compatible:
- [ ] display them in their minimized versions in their respective positions.
- [ ] If all cards have been discovered
- [ ] Show a screen of success,
- [ ] Print the number of cards discovered.