From bf6b8de58b132b6aca7a5ee2bef4e5875c15dae1 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Mon, 13 Apr 2026 19:16:37 -0400 Subject: [PATCH 01/12] Added PersonInterface to files --- .../java/com/github/zipcodewilmington/sample/PersonInterface.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 java/src/test/java/com/github/zipcodewilmington/sample/PersonInterface.java diff --git a/java/src/test/java/com/github/zipcodewilmington/sample/PersonInterface.java b/java/src/test/java/com/github/zipcodewilmington/sample/PersonInterface.java new file mode 100644 index 0000000..e69de29 From 0c88d3dc96f355983331e5dac5b251bd19516908 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Mon, 13 Apr 2026 20:02:24 -0400 Subject: [PATCH 02/12] Added changes --- .../test/java/com/github/zipcodewilmington/WordGuessTest.java | 2 ++ .../java/com/github/zipcodewilmington/sample/PersonTest.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/java/src/test/java/com/github/zipcodewilmington/WordGuessTest.java b/java/src/test/java/com/github/zipcodewilmington/WordGuessTest.java index 18ca74d..816ea92 100644 --- a/java/src/test/java/com/github/zipcodewilmington/WordGuessTest.java +++ b/java/src/test/java/com/github/zipcodewilmington/WordGuessTest.java @@ -6,3 +6,5 @@ * @date 2/5/2026 */ public class WordGuessTest {} + + diff --git a/java/src/test/java/com/github/zipcodewilmington/sample/PersonTest.java b/java/src/test/java/com/github/zipcodewilmington/sample/PersonTest.java index 7a0d781..0c11386 100644 --- a/java/src/test/java/com/github/zipcodewilmington/sample/PersonTest.java +++ b/java/src/test/java/com/github/zipcodewilmington/sample/PersonTest.java @@ -63,3 +63,5 @@ public void testSetAge(Integer age) { Assertions.assertEquals(expected, actual); } } + + From f749b7649c79b93809fcce9d222f3de6f7fae4a1 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Mon, 13 Apr 2026 21:25:20 -0400 Subject: [PATCH 03/12] I added basic loop --- .../com/github/zipcodewilmington/WordGuess.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java index 6f5485f..545016a 100644 --- a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java +++ b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java @@ -5,4 +5,19 @@ * @version 1.0.0 * @date 5/27/21 11:02 AM */ -public class WordGuess {} +public class WordGuess { + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + System.out.println("Welcome to Word Guess!"); + + while (true) { + System.out.print("Guess a letter: "); + String letterToGuess = scanner.nextLine(); + + if (userGuess.equalsIgnoreCase(letterToGuess)) { + System.out.println("Congratulations! You've guessed the word!"); + break; + } else { + System.out.println("Wrong guess. Try again!"); + } +} From 07030510797348e9a9926626ce50dbb3d8d1c5d9 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Tue, 14 Apr 2026 19:24:21 -0400 Subject: [PATCH 04/12] Updated. Phases 1 - 2 added --- .../github/zipcodewilmington/WordGuess.java | 61 ++++++++++++++----- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java index 545016a..eef74e9 100644 --- a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java +++ b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java @@ -1,23 +1,52 @@ package com.github.zipcodewilmington; -/** - * @author xt0fer - * @version 1.0.0 - * @date 5/27/21 11:02 AM - */ +import java.util.Scanner; + public class WordGuess { + static String[] wordList = { "magical", "dainty", "maerl", "signal"}; + static char[] solution; + static char[] playerGuesses; + static int triesLeft; + + static Scanner scanner = new Scanner(System.in); + public static void main(String[] args) { - Scanner scanner = new Scanner(System.in); - System.out.println("Welcome to Word Guess!"); + String playAgain = "yes"; + + while (playAgain.equals("yes")) { + setupGame(); + playGame(); + System.out.print("Play again? (yes/no) "); + playAgain = scanner.nextLine().toLowerCase(); + } + System.out.println("Game Over!"); + scanner.close(); + + } + public static void setupGame() { + String word = pickRandomWord(); + solution = word.toCharArray(); + playerGuesses = buildEmptyGuesses(solution.length); + triesLeft = solution.length; + System.out.println("Let's Play Wordguess game"); + } - while (true) { - System.out.print("Guess a letter: "); - String letterToGuess = scanner.nextLine(); - - if (userGuess.equalsIgnoreCase(letterToGuess)) { - System.out.println("Congratulations! You've guessed the word!"); - break; - } else { - System.out.println("Wrong guess. Try again!"); + public static String pickRandomWord() { + int index = (int) (Math.random() * wordList.length); + return wordList[index]; + } + + public static char[] buildEmptyGuesses(int length) { + char[] guesses = new char[length]; + for (int i = 0; i < length; i++) { + guesses[i] = '_'; + } + return guesses; + } + + public static void playGame(){ + } + } + From cc2fc31b65e976976347ec278889dcca31877568 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Tue, 14 Apr 2026 20:08:41 -0400 Subject: [PATCH 05/12] Added state tracking --- .../com/github/zipcodewilmington/WordGuess.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java index eef74e9..88b27de 100644 --- a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java +++ b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java @@ -45,8 +45,24 @@ public static char[] buildEmptyGuesses(int length) { } public static void playGame(){ + while (triesLeft > 0 && !new String(playerGuesses).equals(new String(solution))) { + printCurrentGuesses(); + System.out.println("You have " + triesLeft + " tries left."); + System.out.println("Enter your next guess: "); + String input = scanner.nextLine().trim(); + + if (input.equals("-")) + break; + if (input.isEmpty()) + continue; + + char letter = input.charAt(0); + processLetter(letter); } + + printResult(); + } } From e82b94f1c00e6e14c3c85525217afd79c6094a11 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Tue, 14 Apr 2026 20:25:07 -0400 Subject: [PATCH 06/12] Guess solution process added --- .../github/zipcodewilmington/WordGuess.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java index 88b27de..9e20e15 100644 --- a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java +++ b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java @@ -46,7 +46,7 @@ public static char[] buildEmptyGuesses(int length) { public static void playGame(){ while (triesLeft > 0 && !new String(playerGuesses).equals(new String(solution))) { - printCurrentGuesses(); + printPlayerGuesses(); System.out.println("You have " + triesLeft + " tries left."); System.out.println("Enter your next guess: "); @@ -62,7 +62,23 @@ public static void playGame(){ } printResult(); - } + } + + public static void processLetter(char letter) { + boolean found = false; + for (int i = 0; i < solution.length; i++) { + if (solution[i] == letter) { + playerGuesses[i] = letter; + found = true; + } + } + + if (!found) { + triesLeft--; + } + } + + } From c4dd72282e8ea25a930ea72dc18bd4495d74f594 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Tue, 14 Apr 2026 20:36:39 -0400 Subject: [PATCH 07/12] Added guess method --- .../com/github/zipcodewilmington/WordGuess.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java index 9e20e15..72abf45 100644 --- a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java +++ b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java @@ -79,6 +79,21 @@ public static void processLetter(char letter) { } } + public static boolean isWordGuessed() { + for (char c : playerGuesses) { + if (c == '_') + return false; + } + return true; + } + public static void printCurrentGuesses() { + System.out.println("Current Guesses: "); + for (char c : playerGuesses) { + System.out.print(c + " "); + } + System.out.println(); + } + } From d43cd79a6bd7820321840267beb7291f97c3d015 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Tue, 14 Apr 2026 20:48:33 -0400 Subject: [PATCH 08/12] Added game result --- .../java/com/github/zipcodewilmington/WordGuess.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java index 72abf45..8b3467d 100644 --- a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java +++ b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java @@ -94,6 +94,14 @@ public static void printCurrentGuesses() { System.out.println(); } - + public static void printResult() { + if (isWordGuessed()) { + printCurrentGuesses(); + System.out.println("Congratulations, You Won!"); + } else { + printCurrentGuesses(); + System.out.println("Sorry, out of guesses. You Lost!"); + } + } } From fa798cc52a115447d5dcfbbcf9708d10ea940935 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Tue, 14 Apr 2026 21:11:40 -0400 Subject: [PATCH 09/12] Person class added --- .../github/zipcodewilmington/WordGuess.java | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java index 8b3467d..28df833 100644 --- a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java +++ b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java @@ -102,6 +102,24 @@ public static void printResult() { printCurrentGuesses(); System.out.println("Sorry, out of guesses. You Lost!"); } - } -} + } +} + +public class Person { + + private String name; + private int score; + private int gamesPlayed; + private int gamesWon; + + public Person(String name) { + this.name = name; + this.score = 0; + } + + public void updateScore(int points) { + this.score += points; + } + +} \ No newline at end of file From 257443bdf1078d8aa8ed134fa94c5ff213ff7ac5 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Tue, 14 Apr 2026 21:20:25 -0400 Subject: [PATCH 10/12] Person Interface added --- .../sample/PersonInterface.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/java/src/main/java/com/github/zipcodewilmington/sample/PersonInterface.java b/java/src/main/java/com/github/zipcodewilmington/sample/PersonInterface.java index f0cea51..1ed10e2 100644 --- a/java/src/main/java/com/github/zipcodewilmington/sample/PersonInterface.java +++ b/java/src/main/java/com/github/zipcodewilmington/sample/PersonInterface.java @@ -1,6 +1,14 @@ package com.github.zipcodewilmington.sample; public interface PersonInterface { + // Interface definition + + /** + * Return the person's name + */ + + String getName(); + String getFirstName(); void setFirstName(String firstName); @@ -9,6 +17,12 @@ public interface PersonInterface { void setLastName(String lastName); + /** + * Return the person's current score + */ + + int getScore(); + Integer getAge(); void setAge(Integer age); @@ -16,3 +30,6 @@ public interface PersonInterface { @Override String toString(); } + + + From 3baa1d51b1a62f5b9ff4a26758262f60c8ed1c42 Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Tue, 14 Apr 2026 21:24:50 -0400 Subject: [PATCH 11/12] Person Class removed from WordGuess file --- .../github/zipcodewilmington/WordGuess.java | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java index 28df833..1381bf6 100644 --- a/java/src/main/java/com/github/zipcodewilmington/WordGuess.java +++ b/java/src/main/java/com/github/zipcodewilmington/WordGuess.java @@ -104,22 +104,3 @@ public static void printResult() { } } } - -public class Person { - - private String name; - private int score; - private int gamesPlayed; - private int gamesWon; - - public Person(String name) { - this.name = name; - this.score = 0; - } - - public void updateScore(int points) { - this.score += points; - } - - -} \ No newline at end of file From 8affaf4379f56205ea7ee03a09ce765eedc137fa Mon Sep 17 00:00:00 2001 From: gitanitraj Date: Tue, 14 Apr 2026 21:26:47 -0400 Subject: [PATCH 12/12] Person Class added to Person file --- .../github/zipcodewilmington/sample/Person.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/java/src/main/java/com/github/zipcodewilmington/sample/Person.java b/java/src/main/java/com/github/zipcodewilmington/sample/Person.java index 48d7e4b..db79165 100644 --- a/java/src/main/java/com/github/zipcodewilmington/sample/Person.java +++ b/java/src/main/java/com/github/zipcodewilmington/sample/Person.java @@ -1,4 +1,20 @@ package com.github.zipcodewilmington.sample; public class Person { + + private String name; + private int score; + private int gamesPlayed; + private int gamesWon; + + public Person(String name) { + this.name = name; + this.score = 0; + } + + public void updateScore(int points) { + this.score += points; + } + + } \ No newline at end of file