The mind is like any part of the body – it needs exercise to stay healthy. There are many cognitive training regimes that exist for that, but one of the most effective for memory is the game known as ‘concentration’. In this game, fifty-two cards are laid face down on a table. Each player takes a turn flipping over a card and then attempting to flip over a second card with the same color and value. For example, if we flip over the five of hearts we would want to flip over the five of diamonds as our secondary selection. If we make a match, the cards are removed and added to our score. If they don’t match, they are flipped back face down and the other player is given an opportunity to flip two matching cards. Players continue taking turns until all cards have been matched.
This is a powerful technique for training observational faculties and short-term memory, and it’s your job for this assessment to write a piece of software that implements this system with a difference – you’ll be looking to match English words and their translation for several languages (two for the purposes of this assessment). For example, we might want to match the English word ‘Hot’ with the French word ‘chaud’. For the purposes of this assessment, it does not matter what language you use but the flashcards presented at https://www.studystack.com/
would be an appropriate place to find suitable pairings. You can use whatever language you like otherwise.
Your application should present players with a grid of fifty-two buttons, and each of those will map on to a word or its translation. Each player will select a button, which will reveal its contents, and a second button which will do the same. If there is a match, the buttons should disappear, and the player should get a point. If not, the contents should be hidden, and control should go to the next player.
The system then needs to allow the following: • It needs to permit for players to choose a word set.
• It needs to create a grid of twenty-six words and their translations and map those to the UI
• It needs to keep track of turn order and player actions within a turn
• It needs to eliminate used words from the UI
• It needs to track the score and matches of buttons.
• A high score table of players and scores for each language should be retained
The program will also need to store user data such as name, success rates with particular words, average score and the average time to complete a game.
Your program then will need to perform the following operations: LOGIN AND SIGNUP FORM• Set up the GUI • Provide a way to add, modify and delete word sets using a datagridview (to be shown before the game for both players) Players must also be able to choose the language English to Italian or French(use combo box). • Provide players a way to choose word sets • Set up an internal representation of words to their translation • Map UI buttons to the words in the word set Implement a turn order for players • Award points based on matching words and their translation • Disable UI elements based on the correctness of matches. • Save the user data and statistics of each user along with the high score table displayed after the game.
You should use an ArrayList or List for the word sets.