From 021617107cff69354b3936021a7a521f510abffa Mon Sep 17 00:00:00 2001
From: Keychu00
diff --git a/src/main/java/edu/sdccd/cisc190/Game.java b/src/main/java/edu/sdccd/cisc190/game/Game.java similarity index 81% rename from src/main/java/edu/sdccd/cisc190/Game.java rename to src/main/java/edu/sdccd/cisc190/game/Game.java index 166f3d4..b4ffe92 100644 --- a/src/main/java/edu/sdccd/cisc190/Game.java +++ b/src/main/java/edu/sdccd/cisc190/game/Game.java @@ -1,5 +1,5 @@ -package edu.sdccd.cisc190; +package edu.sdccd.cisc190.game; /** * Abstract base class that provides the structure for any game. *
@@ -9,7 +9,7 @@ *
*/ public abstract class Game { - +//Space out Javdocs and code for better style and readability/understanding// /** * The name of the game. */ @@ -31,20 +31,24 @@ public Game(String gameName) { this.gameName = gameName; this.isRunning = false; } + //TODO: create a logger to log instead of using system.out /** * Starts the game by setting the status to running and printing a start message. */ public void startGame() { isRunning = true; - System.out.println(gameName + " has started!"); + System.out.println(gameName + "%s has started!" gameName); } /** * Ends the game by setting the status to not running and printing an end message. */ public void endGame() { isRunning = false; + + //TODO: use a formatted print statement just like in startGame() System.out.println(gameName + " has ended."); } + /** * Checks whether the game is currently running. * diff --git a/src/main/java/edu/sdccd/cisc190/QuizGame.java b/src/main/java/edu/sdccd/cisc190/game/QuizGame.java similarity index 92% rename from src/main/java/edu/sdccd/cisc190/QuizGame.java rename to src/main/java/edu/sdccd/cisc190/game/QuizGame.java index e8c3fbe..bd6428c 100644 --- a/src/main/java/edu/sdccd/cisc190/QuizGame.java +++ b/src/main/java/edu/sdccd/cisc190/game/QuizGame.java @@ -1,4 +1,8 @@ -package edu.sdccd.cisc190; +package edu.sdccd.cisc190.game; + +import edu.sdccd.cisc190.question.MultipleChoiceQuestion; +import edu.sdccd.cisc190.question.Question; +import edu.sdccd.cisc190.question.TrueFalseQuestion; import java.io.*; import java.util.ArrayList; @@ -80,6 +84,8 @@ public void saveHighScore(int score) throws IOException { writer.close(); } + + //TODO: create a leaderboard that stores the user's best time/high scores /** * Returns the list of questions in the game. * diff --git a/src/main/java/edu/sdccd/cisc190/MultipleChoiceQuestion.java b/src/main/java/edu/sdccd/cisc190/question/MultipleChoiceQuestion.java similarity index 97% rename from src/main/java/edu/sdccd/cisc190/MultipleChoiceQuestion.java rename to src/main/java/edu/sdccd/cisc190/question/MultipleChoiceQuestion.java index 75f32fd..c0217e8 100644 --- a/src/main/java/edu/sdccd/cisc190/MultipleChoiceQuestion.java +++ b/src/main/java/edu/sdccd/cisc190/question/MultipleChoiceQuestion.java @@ -1,4 +1,4 @@ -package edu.sdccd.cisc190; +package edu.sdccd.cisc190.question; /** * Represents a multiple-choice question. diff --git a/src/main/java/edu/sdccd/cisc190/Question.java b/src/main/java/edu/sdccd/cisc190/question/Question.java similarity index 96% rename from src/main/java/edu/sdccd/cisc190/Question.java rename to src/main/java/edu/sdccd/cisc190/question/Question.java index 1c178dd..21a164d 100644 --- a/src/main/java/edu/sdccd/cisc190/Question.java +++ b/src/main/java/edu/sdccd/cisc190/question/Question.java @@ -1,4 +1,4 @@ -package edu.sdccd.cisc190; +package edu.sdccd.cisc190.question; /** * Represents a general question in a quiz or game. diff --git a/src/main/java/edu/sdccd/cisc190/TrueFalseQuestion.java b/src/main/java/edu/sdccd/cisc190/question/TrueFalseQuestion.java similarity index 97% rename from src/main/java/edu/sdccd/cisc190/TrueFalseQuestion.java rename to src/main/java/edu/sdccd/cisc190/question/TrueFalseQuestion.java index 4774d36..dce0cae 100644 --- a/src/main/java/edu/sdccd/cisc190/TrueFalseQuestion.java +++ b/src/main/java/edu/sdccd/cisc190/question/TrueFalseQuestion.java @@ -1,4 +1,4 @@ -package edu.sdccd.cisc190; +package edu.sdccd.cisc190.question; /** * Represents a "True/False" type question in the quiz game. diff --git a/src/test/java/edu/sdccd/cisc190/GameTest.java b/src/test/java/edu/sdccd/cisc190/GameTest.java index 4b68bda..19998ee 100644 --- a/src/test/java/edu/sdccd/cisc190/GameTest.java +++ b/src/test/java/edu/sdccd/cisc190/GameTest.java @@ -1,5 +1,7 @@ package edu.sdccd.cisc190; +import edu.sdccd.cisc190.game.Game; +import edu.sdccd.cisc190.game.QuizGame; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/edu/sdccd/cisc190/MultipleChoiceQuestionTest.java b/src/test/java/edu/sdccd/cisc190/MultipleChoiceQuestionTest.java index c0efee6..996a156 100644 --- a/src/test/java/edu/sdccd/cisc190/MultipleChoiceQuestionTest.java +++ b/src/test/java/edu/sdccd/cisc190/MultipleChoiceQuestionTest.java @@ -1,5 +1,6 @@ package edu.sdccd.cisc190; +import edu.sdccd.cisc190.question.MultipleChoiceQuestion; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/edu/sdccd/cisc190/QuizGameIntegrationTest.java b/src/test/java/edu/sdccd/cisc190/QuizGameIntegrationTest.java index a119f56..8c90c88 100644 --- a/src/test/java/edu/sdccd/cisc190/QuizGameIntegrationTest.java +++ b/src/test/java/edu/sdccd/cisc190/QuizGameIntegrationTest.java @@ -1,5 +1,6 @@ package edu.sdccd.cisc190; +import edu.sdccd.cisc190.game.QuizGame; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/edu/sdccd/cisc190/QuizGameTest.java b/src/test/java/edu/sdccd/cisc190/QuizGameTest.java index e8bf338..df4011e 100644 --- a/src/test/java/edu/sdccd/cisc190/QuizGameTest.java +++ b/src/test/java/edu/sdccd/cisc190/QuizGameTest.java @@ -1,5 +1,6 @@ package edu.sdccd.cisc190; +import edu.sdccd.cisc190.game.QuizGame; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.io.IOException; diff --git a/src/test/java/edu/sdccd/cisc190/TrueFalseQuestionTest.java b/src/test/java/edu/sdccd/cisc190/TrueFalseQuestionTest.java index dbd71c4..001f1f5 100644 --- a/src/test/java/edu/sdccd/cisc190/TrueFalseQuestionTest.java +++ b/src/test/java/edu/sdccd/cisc190/TrueFalseQuestionTest.java @@ -1,5 +1,6 @@ package edu.sdccd.cisc190; +import edu.sdccd.cisc190.question.TrueFalseQuestion; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; From f65c5255a3783072eb990b46134f95ae9f421611 Mon Sep 17 00:00:00 2001 From: Keychu00@@ -78,6 +85,7 @@ public void loadQuestions(String filePath) throws IOException { * @throws IOException if an I/O error occurs while writing to the file */ public void saveHighScore(int score) throws IOException { + //TODO: Confirm file location is writable and handle potential IOException with user notification. String highScoresFile = "src/main/resources/highscores.txt"; BufferedWriter writer = new BufferedWriter(new FileWriter(highScoresFile, true)); writer.write("Score: " + score + "\n"); @@ -85,6 +93,7 @@ public void saveHighScore(int score) throws IOException { } + //TODO: create a leaderboard that stores the user's best time/high scores /** * Returns the list of questions in the game. diff --git a/src/main/java/edu/sdccd/cisc190/question/Question.java b/src/main/java/edu/sdccd/cisc190/question/Question.java index 21a164d..ecb7222 100644 --- a/src/main/java/edu/sdccd/cisc190/question/Question.java +++ b/src/main/java/edu/sdccd/cisc190/question/Question.java @@ -43,3 +43,6 @@ public String getQuestionText() { */ public abstract boolean checkAnswer(String answer); } +//TODO: Demonstrate polymorphism by adding a `displayQuestion()` method in the base class +// and overriding it in child classes to provide specific behavior. +