Question
Using Jgrasp program i need to make a JAVA program that: Develop a simple TriviaGame program. We will have two classes, a TriviaGame class and
Using Jgrasp program i need to make a JAVA program that:
Develop a simple TriviaGame program. We will have two classes, a TriviaGame class and a Question class. The TriviaGame class will contain several Question objects stored in an array and will have several operations. We will also have a tester class to test the PlayTriviaGame class.
Specific Requirements for the Question class:
Constant - INVALIDVALUE = -1. (see details below)
Instance variables
String question - The trivia question
String answer - The answer to the question
int value
the value of the question.
The value will be between 1 - 5 (inclusive) based on difficulty , 1 is easy, 5 is difficult.
Your program must ensure that the value is in the range of 1 -5, if not print out an error message and set the value to the constant INVALIDVALUE.
Default constructor that sets all instance variables to default values.
A parameterizes constructor that takes in parameters to set the class's instance variables . Ensure value is check for validity (hint call the mutator method for value and do your error handling there)
Accessor and mutator methods for all the instance variables (see UML Class diagram above)
toString() returns a nicely formatted with one attribute on each line using the ' ' escape character (see sample output file questions.dat for an example).
The UML class diagram for the Question class looks like this:
Question |
question String answer: String value: int |
Question() Question(String, String, int) getQuestion(): String getAnswer(): String getValue(): int setQuestion(String) setAnswer(String) setValue(int) toString: String |
Specific Requirements for the TriviaGame class:Instance Variables
Question[] gameQuestions - size of 10.
int score - the current score of the user playing the game
int numberOfQuestion - the number of question used in the current game, (partially filled array value) it can not be greater than the size of the array of question. (10).
int currentQuestion - the index of the current question being asked.
Parameterized constructor
Parameter - a FileInputStream object (chpt 2). The FileInputStreamObject is connected to a file that contains the 10 questions, their respective answers and values.
Reads the file one line at a time, creates Question object from each line and stores the Question object in the array of questions.
See the sample file posted on elearning. The file structure is one line for the question, one line for the answer and one line for the question value.
sets currentQuestion instance variable to zero.
Methods
Accessor methods for score, numberOfQuestions and currentQuestion instance variable. no mutator method needed
play method - Starts the game.
resets the score and currentQuestion instance variable to zero.
parameter - int numQuestion representing the number of question the player want to answer for this game. (Maximum of 10)
nextQuestion method
Uses the currentQuestion instance variable to access the gameQuestion array.
Returns the a String representing the next question..
evaluateAnswer(String answer)
Compares the parameter answer with the currentQuestion answer.
Returns true if correct, false if incorrect.
Increment the currentQuestion variable.
toString method - prints a nicely formated string that lists all the questions in the array, their respective answers and score value.
The UML class diagram for the TriviaGame class looks like this:
TriviaGame |
gameQuestions: Question[] score: int numberOfQuestion: int. currentQuestion: int |
Trivia(FileInputStreamObject) getScore():int getNumberOfQuestion():int getCurrentQuestion():int play(int) nextQuestion(): String evaluateAnswer(String):boolean toString(): String |
Build a PlayTrivaGame class to play a game of trivia.
Create a FileInputStreamObject - NOTE for ease of grading, call the file used to create this object questions.dat. You can just use the sample file provide if you like.
Create a TriviaGame Object that passes a FileInputStreamObject that connect to the file with the questions, answers and scores.
Prompt the user to input how many question they would like to answer, up to a maximum of 10.
Calls the play method passing the number of question from item 2.
Loops through the follow until the number of question from item 2 are asked and answered.
Calls nextQuestion and displays the next question
Prompts for the answer
Calls evalutateAnswer method and prints message depend on evaluteAnswer results such as answer is correct, or answer is incorrect.
Once current game is complete calls getScore and displays the current players score.
Ask the user if they wish to try again and if so go back to step 3,(calling the play method).
If the user wishes to exit, call the Trivia game toString method and exit the program.
Submission Requirements:
Your project must be submitted using our standard submission procedures.
You should turn in the following files for this assignment:
Question.java
Trivia.java
PlayTriviaGame.java
Remember to include javadoc for all the classes. See the Programming Project Comments Template and Java Commented Sample Code under Chapter 5 on elearning
Important Notes:
Projects will be graded on whether they correctly solve the problem, and whether they adhere to good programming practices.
Projects must be submitted by the time specified on the due date Projects submitted after that time will get a grade of zero.
Please review UWF's academic conduct policy. Note that viewing another student's solution, whether in whole or in part, is considered academic dishonesty. Also note that submitting code obtained through the Internet or other sources, whether in whole or in part, is considered academic dishonesty. All programs submitted will be reviewed for evidence of academic dishonesty, and all violations will be handled accordingly.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started