From c7908ff590c59293e73e7b1a8de675284e7ab816 Mon Sep 17 00:00:00 2001 From: Arty Kanok Date: Sun, 24 Oct 2021 18:07:42 +0700 Subject: [PATCH 1/3] :sparkles: [feat]: add GuessingGame program --- GuessingGame.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 GuessingGame.java diff --git a/GuessingGame.java b/GuessingGame.java new file mode 100644 index 0000000..9831f9d --- /dev/null +++ b/GuessingGame.java @@ -0,0 +1,8 @@ +public interface GuessingGame { + + void setAnswer(String ans); + void guess(String s); + String getOutput(); + boolean isWon(); + boolean isLost(); +} From b676c29f699c3b387aa0de9ba50a6cb2b332b609 Mon Sep 17 00:00:00 2001 From: Arty Kanok Date: Sun, 24 Oct 2021 18:08:53 +0700 Subject: [PATCH 2/3] :sparkles: [feat]: add WordMatch.java --- WordMatch.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 WordMatch.java diff --git a/WordMatch.java b/WordMatch.java new file mode 100644 index 0000000..0fa4f66 --- /dev/null +++ b/WordMatch.java @@ -0,0 +1,57 @@ +public class WordMatch implements GuessingGame { + private String answer ; + private int match; + private boolean fact = false; + + public WordMatch() { + this.match = 0; + } + + @Override + public void setAnswer(String ans) { + answer = ans.toLowerCase(); + } + + @Override + public void guess(String s) { + String tmp = s.toLowerCase(); + match =0; + if(s.length()!= answer.length()){ + fact = true; + } + else { + for (int i = 0; i < answer.length(); i++) { + if (answer.charAt(i) == tmp.charAt(i)) { + match++; + } + } + } + } + + @Override + public String getOutput() { + if(fact == true){ + fact =false; + return "Length not match"; + } + else if(match == answer.length()){ + return ""; + } + else { + return "Match " + match; + } + } + + @Override + public boolean isWon() { + if(match == answer.length()){ + return true; + } + return false; + } + + @Override + public boolean isLost() { + return false; + } +} From 7af35521ddef4c929770bb10d2b14a8aeb0c0554 Mon Sep 17 00:00:00 2001 From: Arty Kanok Date: Sun, 24 Oct 2021 18:15:23 +0700 Subject: [PATCH 3/3] :sparkles: [feat]: add Hangman.java --- Hangman.java | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Hangman.java diff --git a/Hangman.java b/Hangman.java new file mode 100644 index 0000000..1b6ce6a --- /dev/null +++ b/Hangman.java @@ -0,0 +1,77 @@ +public class Hangman implements GuessingGame{ + private String target; + private int life ; + private char[] answer ; + + private boolean fact=false; + public Hangman() { + life = 6; + } + + + + + @Override + public void setAnswer(String ans) { + + target = ans.toLowerCase(); + answer = new char[target.length()]; + for (int i = 0; i 1) { + fact = true; + } else { + for (int i = 0; i < target.length(); i++) { + + if (target.charAt(i) == tmp.charAt(0)) { + answer[i] = tmp.charAt(0); + isCorrect = true; + } + } + if (isCorrect == false) life--; + } + } + + @Override + public String getOutput() { + if(fact == true){ + fact = false; + return "One character only"; + } + String temp=""; + for (int i = 0; i