created by John and Ella
-
(10%) Your program has a welcome screen displaying a game title.
-
(10%) Create a Start button. After clicking the start button, the game should start.
-
(15%) After started, your game should display questions one at a time. Each question appears with four possible answers, like the one shown in Fig. 1 above (i.e., use JButton).
-
(5%) A quiz session should have at least 10 questions.
-
(20%) Show whether the player’s answer is Correct / Incorrect. Once player selects one option (clicks on one button), game immediately checks if it’s correct. If correct, show “correct” on the screen; otherwise,show “incorrect” on the screen. Answers must be logically and meaningfully validated (i.e. checking the correctness of answers).
-
(5%) Move automatically to the next question.
- (20%) Keep track of the player’s score. If player’s answer is correct, give scores to the player; otherwise, give some other scores to the player. The scores you give must be logically correct and meaningful (i.e. checking the correctness of answers).
-
(10%) At the end if no more questions, show a Results Screen with finalscore and the player’s nickname.
-
(5%) At the end of the quiz, offer a Play Again button to restart and back to welcome screen.
- Create multiple categories for player to choose from on the welcome screen (such as Test preparation for java, DMV knowledge test question bank, other subjects such as History, Sports...etc.)
- Set up a timer and define a time limitation that the player must answer before selecting one option. If the player does not select an answer in time, mark incorrect without points and go to the next question.
- Ask players to enter their nicknames in a textfield. Show the name on game screen. Your program should handle the case when a name is not provided.
- Questions bank reaches at least 100 questions, and every time the program will pick different question based on scientific way (pick randomly, tree structure to organize questions, or other algorithms you prefer.)
-
Change label color (e.g., green for correct, red for wrong.)
-
Animations on display throughout the whole game.
- Layout must be neat, readable, and visually appealing.
- Use classes (e.g., MainClass, GameEngine, GameFrame ...etc) with good separation of concerns.
- Store questions in an ArrayList (or another suitable structure).
- Program should not crash when a player enters unexpected input.