Reference no: EM131561239
Need help writing this program in Java
So basically the task is to develop young kids to basic math such as subtraction, addition, division, multiplication. Math problems are generated randomly for them to answer. Correct answers are given a small reward ($0.05) while incorrect answers have a small penalty ($0.03) subtracted. When the player decides to return to play the game again the user statistics need to be recorded in a text file, this is to make sure its loaded back to the program. The player should be allowed to keep track how they're doing anytime while they're playing the game.
main() function should be mostly function calls and no greater than 100 lines, while the whole program is about 500-800 lines.
Requirements
1) Develop simple math problems:
-Addition (total must be integer >=0)
-Subtraction (difference must be integer >=0)
-Multiplication (product must be integer >=0)
Division (quotient must be integer >=0)
2) User input must be validated at every input. The program CANNOT crash because of an invalid entry.
3) The user's name, total correct answers, total wrong answers and total earnings must be kept track.
4) For every user a serperate text file must be created:
-If user is returning player statistics from the file are read from start of game
-At end of every game statistics are recorded
5) most of the required functions are in the list provided:
credits // this function is what the program does and is used for name display
menu // this function displays menu with many options
validateUserResponse // this function validates user input from menu
validateUserAnswer // this function validates user input and confirms that ONLY numeric answers are inputed by user
checkUserAnswer // this function checks user's answer to determine whether its correct or not
updateStats // this function keeps running total of game statistics in RAM
displayStats // this function displays statistics on the screen
retrieveStats // this function retrieves the returning player's stats from external txt file during the start of the game; txt file must be created for ths to work
saveStats // this function saves the players stats on external txt file
generateMultiplication, generateDivision, generateAddition, generateSubtraction // can also be used to generate problems.
6) Variable names must be meaningful.
7) Your code must be commented.
8) Variables must be in correct type and compute them in proper value.
Restrictions
No infinite loops such as for(;;) while(1) while(true) do{//code}while(1); no break statements to exit a loop, no validation errors, and no hanging errors.
Here is a description on how the program should flow:
1) A "Splash" screen must be displayed during the start of the game with the game's title (TheMathGame) and my name (Arin A.) After that the user is given a prompt to input their name with no numbers and blanks.
2) A menu must be displayed with:
1. Add
2. Subtract
3. Multiply
4. Divide
5. Stats
n/N to Quit
If user chooses first 4 options then random problems are displayed, but only positive integers
3) If the answer of the user is correct or incorrect an appropriate feedback is displayed on screen
4) If user chooses option 5 the stats are displayed like the following example:
Dmitry
Total Earnings $0.22
Total Correct 5
Total Incorrect 1
Press any key to continue...