Quiz Night Game Engine
Details
The questions and answers are in a file. The file is provided as a command line argument to the application.
In the question and answer file each line has a question and its answer. The answers are always one word.
The question always ends in ‘?’ then there is a space and following that the answer. For example:
What is the capital of France? Paris
The application takes a second command line argument, a number <10 that represents the difficulty level.
The program should:
at the start
load the questions and answers from the file
print out the number of questions in the quiz
start asking questions
for each question, display a clue (if available, see below); the user has one attempt only, and the program is case insensitive (accepts both lower and upper case answers)
after each question display the number of questions asked and the number of correctly answered
questions so far. Example:
Score: 5/7
at the end store the results in a file quiz_history.txt by appending to the file one line containing:
name of the quiz file
number of questions answered correctly
total number of questions
difficulty level
Questions and clues
The following difficulty levels should be supported:
No clue is given and only a ‘?’ is shown. Example:
What is the capital of France?
A set of blank dashes separated by spaces is displayed, one for every letter in the answer. Example:
What is the capital of France?
A The first and the last letters are shown. Example:
What is the capital of France?
P - - - S
Two random letters from the answer are shown in their correct position. Example
What is the capital of France?
P - R - -
All letters are shown but in random order. Example:
What is the capital of France?
R S I P A
Observations
you do not know in advance how many questions are in the file; it is recommended to use a dynamic data structure to store questions as they are read
Basic Functionality Marking 70%
processing command line parameters (5)
file name
difficulty level
reading questions from file
opening the file and reading from the file (5)
separating questions from answers (5)
storing a question and its answer (5)
storing all the questions in a list (10)
print out number of questions in the quiz (3)
display a question (3)
take in the user’s word and compare it with the question answer
reading word from the user (3)
case insensitive comparison (2)
display a clue based on the difficulty level:
level 1, 2, 3, 4 (4 * 5 marks)
write the results to file (6)
keep track of the number of correctly answered questions (3)
Advanced marking (30%)
The questions are asked in random order (10)
Display a clue based on the difficulty level 5 (10)
Difficulty level 6. The type of clue is randomly selected from the 5 types listed above. (5)
Store the status (correct/incorrect) of all the questions. When the quiz is complete the user is asked if
they want to view the correct answers to the questions that were wrong. (5)
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of