By: SErebros Since: September 2019 Licence: MIT

1. Introduction - What is Dukemon?

Ui
Figure 1. Home screen of Dukemon.

Welcome to Dukemon , the Flashcard app of the future!

Dukemon aims to streamline and gamify the process of learning words or definitions through the use of self-created digital flashcards. Supercharge your learning with Dukemon!

2. Getting Started

2.1. Installation

  1. Ensure you have Java 11 or above installed on your system.

  2. Download the latest Dukemon.jar here.

  3. Copy the file to the folder you want to use as the home directory of Dukemon (this is where your data will be stored).

  4. Double-click the Dukemon.jar to run the app.

  5. Before getting to the quick start instructions, get familiar with our interface and application modes.

2.2. User Interface

UserGuideCommandBox
Figure 2. Regions of the UI where commands are entered (via CLI) and feedback from Dukemon is shown.
  1. Click on the CommandBox as shown above (region in yellow box) and type commands in.

  2. Use Enter to execute commands.

    1. e.g. Typing help into the CommandBox and pressing Enter will open the Help window.

  3. Text-based feedback for each command entered is shown in the ResultDisplay (region in red box).

2.3. Switching Modes

There are 4 application modes.

UGModes
Figure 3. Application modes
RestrictedHomeMode
Figure 4. Mode Display

In the highlighted section above, you can see the current mode you are in and the available modes.

To transition between them you have to enter the SwitchCommand that represents each mode into the Command Box that says Enter command here...

  • open Enter
    to enter open mode

  • start Enter
    to enter game mode

  • settings Enter
    to enter settings mode

  • home Enter
    to enter home mode

Requirements before changing mode

  • A bank should be selected

  • No game should be running

ModesAvailable
Figure 5. If other modes are available, they will be displayed beside the Command Box

Yes, it feels like a steep learning curve >_<

But do not worry as we have the AutoComplete Bar that auto completes the available commands whichever mode you are in.

2.4. AutoComplete Bar

AutoCompleteBar
Figure 6. AutoComplete Bar

The highlighted section shows, what commands are currently available. You can click them to automatically fill it in for you. Each of your keystroke will dynamically update the AutoComplete bar, just like the keyboard on your smartphone.

2.5. QuickStart

UserGuideFlowOverview
Figure 7. General program flow of Dukemon, showing how the different parts work together.

Let’s select the sample WordBank and play a game to get familiar.

  1. select sample Enter

    • This would allow you to switch modes

  2. open Enter

  3. start Enter

  4. guess <your_guess> Enter

    • keep guessing till the statistics screen appears

    • you can switch modes now

  5. home Enter

Getting comfortable? Ready to master the application commands?

Some typical commands to get familiar with are:

  • create <NAME>: Creates an empty WordBank with specified name. (in Home Mode)

  • select <NAME>: Selects and switch to WordBank with the specified name. (in Home Mode)

  • add w/<WORD> m/<MEANING>: Adds a new Card with specified Word and Meaning into the current WordBank. (in Open Mode)

  • list: Lists all Cards in the current WordBank. (in Open Mode)

  • start <EASY/MEDIUM/HARD>: Starts a Game session with the specified Difficulty. Default difficulty in Settings will be used if not specified. (after selecting WordBank)

  • guess <YOUR_ANSWER>: Makes a Guess for the current Word whose Meaning is shown on the UI. (in Game Mode)

  • stop: Stops the current Game session. (in Game Mode)

  • exit: Exits Dukemon. (in any mode except Game)

2.6. Purposes of each mode

HomeMode
  • Create/Choose a Wordbank

  • View Global Statistics

OpenMode
  • Create/Add/Modify Cards of your WordBank. (Each Card contains a Word and Meaning).

  • View Statistics belonging to a specific WordBank

GameMode
  • Guess Words based on each Meaning that appear as quickly as possible.

  • Finish the Game and view the Statistics for your game session.

SettingsMode
  • Configure your preferred Settings. (change Difficulty, Theme etc.)

3. Commands

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by the user.
    Eg. in add w/WORD m/MEANING, WORD is a parameter which can be used as
    add w/Charmander m/Fire starter pokemon.

  • Items in square brackets are optional.
    Eg. w/WORD [t/TAG] can be used as
    add w/Squirtle m/Water starter pokemon t/Water type or as
    add w/Squirtle m/Water starter pokemon.

  • Items with ​ after them can be used multiple times including zero times.
    E.g. [t/TAG]…​ can be used as   (i.e. 0 times), t/CS2040, t/CS2040 t/GRAPH etc.

  • Parameters can be in any order.
    E.g. if the command specifies w/WORD m/MEANING, m/MEANING w/WORD is also acceptable.

3.1. Switch Commands switch icon

(Available in all modes as long as WordBank is selected and game is not running)

3.1.1. Switch to home page: home

Welcome home.

Format: home

3.1.2. Open WordBank content: open

Opens the page to edit the WordBank selected.

Format: open

  • Use the select command to select a WordBank. Otherwise it won’t work.

3.1.3. Start the game: start

Starts the game with the WordBank selected.

Format: start [DIFFICULTY]

  • Use the select command to select a WordBank. Otherwise it won’t work.

Examples:

  • start

  • start easy

Entering the start command after WordBank is selected will enter game mode. In event that there are fewer than 3 cards, the game would not run. You would have to go to open mode to add cards.

3.1.4. Customise game play: settings

Enters settings page, so that the user can customise the game play.

3.2. Card Commands card commands icon

(Available in Open mode)

3.2.1. Add a card: add

Adds a new word-meaning pair to the WordBank.

Format: add w/WORD m/MEANING

Examples:

  • add w/Dukemon m/the Flashcard app of the future

  • add w/Newton’s third law of motion m/Every action will produce and equal and opposite reaction

  • add w/Kopi Luwak m/Coffee produced from the coffee beans found in the faeces of a civet cat

There can be duplicate Words, but duplicate Meanings will be rejected.

3.2.2. Delete a card: delete

Deletes the specified index from the WordBank.

Format: delete INDEX

  • Deletes the card at the specified INDEX.

  • The index must be a positive integer 1, 2, 3, …​, and must be a valid index within the list.

  • The index refers to the index number shown in the displayed card list.

Examples:

  • delete 2
    Deletes the 2nd card.

  • delete 1
    Deletes the 1st card in the results of the find command.

3.2.3. Edit a card: edit

Edits a card.

Format: edit INDEX [w/WORD] [m/MEANING] [t/TAG]

Examples:

  • edit 1 w/new word m/new meaning

  • edit 2 m/new meaning with tag t/tagged

3.2.4. Find a card: find

Finds entry whose Word or Meaning or Tag contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]…​

  • The search is case insensitive. e.g capital will match cApiTAl

  • The order of the keywords does not matter. e.g. key words will match words key

  • Word, Meaning or Tag will be searched

  • Words contained within will be matched e.g. formal will match Informal

  • Cards matching at least one keyword will be returned (i.e. OR search). e.g. Peter man will return Peter Parker, Spiderman

Examples:

  • find long
    Returns any entries containing long in its Word, Meaning or Tag.

  • find mammal fish bird
    Returns any entries containing mammal, fish or bird in its Word, Meaning or Tag.

3.2.5. View all cards: list

Views the content of a WordBank.

Format: list

3.2.6. Clear all cards: clear

Clears the WordBank by removing all cards.

Format: clear

3.3. WordBank Commands load

(Available in Home mode)

3.3.1. Select a WordBank: select

Lets Dukemon know what WordBank you have selected.

Format: select WORD_BANK
Examples:

  • select arithmetic

  • select sample

3.3.2. Create new WordBank: create

Creates a new WordBank with specified name.

Format: create WORD_BANK
Examples:

  • create CS2040

  • create Biology

3.3.3. Remove a WordBank: remove

Removes a new WordBank with specified name.

Format: remove WORD_BANK
Examples:

  • remove Gen 3 pokemon

  • remove Vocabulary

3.3.4. Import a WordBank: import

Imports the WordBank from a specified folder path on your system.

Format: import w/WORD_BANK f/FOLDER

  • FOLDER is the folder where the WordBank file reside.

  • WORD_BANK is the name of the file without the extension.

  • Dukemon can only read json WordBank files.

Examples:

(Use \ for Windows)

  • import w/cs2040_graph f/~/downloads

  • import w/fire pokemons f//Users/chrischenhui/data

We have a drag and drop feature.
You can drag and drop a file from your computer into the section which holds the WordBanks.

3.3.5. Export a WordBank: export

Exports the WordBank to a specified file path on your system.

Format: export w/WORD_BANK f/FOLDER

  • FOLDER is the folder where the WordBank file reside.

  • WORD_BANK is the name of the file without the extension.

  • Dukemon exports WordBanks into json files.

Examples:

  • export w/ma1101r theorems f/~

  • export w/biology definitions f/~/downloads

We have a drag and drop feature.
You can also drag and drop a WordBank outside of Dukemon, and into your computer.

3.4. WordBank Statistics Commands statistics icon

(Available in Open mode)

3.4.1. Resetting the WordBank statistics: reset

Resets the statistics of the open WordBank to an empty statistics.

Format: reset

3.5. Game Commands game mode icon

(Available in Game mode)

UserGuideGameSessionDiagram1
Figure 8. UI regions that are relevant when a Game session is in progress.

This section covers the actions and feedback that are relevant to the Game mode. The general layout of the UI when a Game is in progress is as seen above.

  1. The timer will be activated to reflect the time left before the Game skips over to the next card. (region in yellow box)

  2. The Meaning of the current Card is shown in the region contained by the red box. Based on this Meaning you will make a Guess for the Word it is describing.

  3. Hints (if enabled) will be periodically shown as time passes (region in the blue box) in a Hangman-style. The number of hints given differs across each Difficulty.

3.5.1. Game Mode - Starting game mode icon

The relevant command(s) are:

  1. Starting new game session:

    Format: start [EASY/MEDIUM/HARD]

    • Starts a game session with the currently selected WordBank and specified Difficulty. (WorkBank selection is done in Home mode.) If no Difficuty is specified, the default Difficulty in Settings will be used.

3.5.2. Game Mode - Playing game mode icon

UserGuideGameSessionDiagram2
Figure 9. Timer and feedback for each Guess during a Game session. (Timer changes color based on time left).

The relevant command(s) are:

  1. Making a Guess for a Word:

    Format: guess WORD

    • Makes a guess for the Word described by the currently shown Meaning. (non case-sensitive)

      The guess keyword is automatically enabled for you for every question- there is no need to type guess before every Guess of a Word.
  2. Skipping over a Word:

    Format: skip

    • Skips over the current Word. (is counted as a wrong answer)

3.5.3. Game Mode - Terminating & Statistics game mode icon

GameFinishedGameStoppedComparison
Figure 10. Comparison of UI Regions between Game finished vs. Game forcibly stopped.

A Game finishes when all Cards have been attempted. Statistics are automatically shown upon completion of a Game (see Fig. 6 above). The user can choose to stop a Game before it has finished- all current Game progress is lost, and no Statistics are collected (see Fig. 7 above).

The relevant command(s) are:

  1. Stopping a Game (before it has finished):

    Format: stop

    • Forcibly terminates the current active Game session.

3.6. Settings Commands settings mode icon

(Available in Settings mode)

Goes into the settings menu.
Format: settings

3.6.1. Changing the theme: theme

Changes the theme of the UI.
Format: theme dark/light

Examples:

  • theme dark
    Changes the UI theme to dark.

darktheme
Figure 11. Dark Theme
  • theme light
    Changes the UI theme to light.

lighttheme
Figure 12. Light Theme

3.6.2. Turning hints on/off: hints

Turns hints on or off.
Format: hints on/off

Examples:

  • hints on
    Turns hints on.

hintson
Figure 13. Hints on
  • hints off
    Turns hints off.

hintsoff
Figure 14. Hints off

3.6.3. Changing difficulty: difficulty

Changes the difficulty of the game.
Format: difficulty easy/medium/hard

Examples:

  • difficulty easy
    Changes the difficulty to easy. (Timer = 15 seconds)

difficultyeasy
Figure 15. Easy difficulty (15 seconds)
  • difficulty medium
    Changes the difficulty to medium. (Timer = 10 seconds)

difficultymedium
Figure 16. Medium difficulty (10 seconds)
  • difficulty hard
    Changes the difficulty to hard. (Timer = 5 seconds)

difficultyhard
Figure 17. Hard difficulty (5 seconds)

3.6.4. Changing Avatar : avatar

Changes the avatar in the home screen. The avatar is one of the 151 original pokemon, so pick and choose! (There is a secret avatar as well. See if you can find it!)
Format: avatar [0 - 151]
avatar 0 sets the avatars to random.

Examples:

  • avatar 0
    Changes the avatar to a random one everytime a new command is called.

  • avatar 1
    Changes the avatar to 001 in the original Pokedex, which is Bulbasaur.

avatar1
Figure 18. Avatar number 1, in this case, Bulbasaur.
  • avatar 151
    Changes the avatar to 151 in the original Pokedex, which is Mew.

avatar151
Figure 19. Avatar number 151, in this case, Mew.

3.7. Misc. Commands misc icon

help is available in Home mode
exit is available in any mode except Game mode)

3.7.1. Ask for help: help

Shows the link to the User Guide (appears as a pop-up).

Format: help

3.7.2. Take a break: exit

Exits and closes Dukemon.

Format: exit

4. Statistics

This section covers the Statistics shown to the user.

4.1. Game Result

The game result is shown to the user every time a Game finishes. It contains information regarding the finished Game session and Statistics for the selected WordBank.

We use a simple formula to calculate the score: floor of (Number of correct answers) / (Total questions) * 100.

annotated game results ui
Figure 20. Game Result UI.

4.2. WordBank Statistics

The WordBank statistics is shown in the Open mode and contains all information regarding the selected WordBank.

annotated wb statistics ui
Figure 21. WordBank Statistics UI.
The high score and fastest clear timing of a WordBank will not be reset upon adding/deleting cards.

4.3. Global Statistics

The global statistics is shown on the main title page and contains all information regarding the user’s overall usage of the app.

annotated global statistics ui
Figure 22. Global Statistics UI.

5. WordBank management

5.1. Drag and drop

Streamlines the process of sharing of WordBanks with friends.

DragAndDrop1     →     DragAndDrop2     →     DragAndDrop3

From HOME mode, you can view your WordBanks.
Simply drag and drop a WordBank json file from your computer into the Dukemon GUI.

DragAndDropOut1     →     DragAndDropOut2     →     DragAndDropOut3

Likewise, drag and drop a WordBank out of the application, into say, your desktop, or chat applications.

Try it!

Dukemon only accepts json files when importing WordBanks. Attempting to import or export other types files will not be successful.

5.2. Revision WordBank

A revision bank is automatically updated for you, every time a game session ends.
It collates all your wrong cards, whichever WordBank it may have came from.
It is also smart enough to remove the cards if you have cleared it afterwards.

Quick look at revision bank’s page.

450

The revision bank is best appreciated when you actually play around with some WordBanks, and then visit the revision bank to revise wrong cards. Give it a try!

6. Command Summary

Command Type Command Keyword Parameter(s) (if any)

Switch Commands
(Available in all modes as long as WordBank is selected and game is not running)

home

open

start

[EASY/MEDIUM/HARD]

settings

Card Commands
(Available in Open mode)

add

w/WORD m/MEANING [t/TAG]

delete

INDEX

edit

INDEX w/WORD m/MEANING [t/TAG]

find

KEYWORD [MORE_KEYWORDS]…​

list

clear

WordBank Commands
(Available in Home mode)

select

WORD_BANK

create

WORD_BANK

remove

WORD_BANK

import

w/WORD_BANK f/FOLDER

export

w/WORD_BANK f/FOLDER

WordBank Statistics Commands
(Available in Open mode)

reset

Game Commands
(Available in Game mode)

guess

WORD

skip

stop

Settings Commands
(Available in Settings mode)

difficulty

EASY/NORMAL/HARD

theme

DARK/LIGHT

hints

ON/OFF

avatar

INDEX

Misc. Commands

help
(Available in Home mode)

exit
(Available anywhere except Game mode)

7. Upcoming Features

7.1. Leaderboard [coming in v2.0]

View and compare your statistics with peers on the internet.

7.2. Reminders [coming in v2.0]

Smart algorithms to pop reminders for you to know which bank you have not visited and is most likely to forget soon.

7.3. User profiles [coming in v2.0]

Have more than one account to monitor statistics on the same computer

7.4. Customizable Difficulty [coming in v2.0]

Create your own difficulties with customized time durations.

8. FAQ

Q: Dukemon is not starting up/crashes upon load-up, how can I rectify this?
A: Move Dukemon to a new, empty file directory. Ensure that all data and configuration files in the same directory are deleted (some files may be corrupted). Dukemon will perform a clean start from the new directory.

Q: The Game failed to start, what can I do?
A: Ensure that your selected WordBank has at least three Cards to be able to start. Also note that you will be brought to the Game mode regardless, and will need to switch out of it.

Q: Switching modes is not working, what can I do?
A: Ensure that you have selected a WordBank before attempting to switch modes. Check that you have stopped the Game session if you want to switch to certain modes.

Q: How do I pronounce the app name?
A: Think Pokemon.

Q: The GUI (Graphical User Interface) seems to be lagging, is this an issue?
A: Dukemon aims to run at around 60fps, but performance varies across machines.

Q: How can I transfer/share WordBanks across machines?
A: Use the export and import functionalities to move data to specific file directories. From there you can share your files manually. You can make use of the drag and drop feature to accelerate the process.

Q: How can I save my data?
A: Dukemon’s data is saved to the hard disk automatically (eg. adding cards/words, statistics etc) There is no need to manually save data or Game Statistics.

Q: I edited some files and Dukemon doesn’t work properly now. How do I resolve this?
A: Please edit only if you know what you are doing, for non-advanced players, interact through Dukemon.
To resolve, refer to the FAQ: "Dukemon is not starting up/crashes upon load-up, how can I rectify this?".