Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions GuessingGame.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
public interface GuessingGame {

void setAnswer(String ans);
void guess(String s);
String getOutput();
boolean isWon();
boolean isLost();
}
77 changes: 77 additions & 0 deletions Hangman.java
Original file line number Diff line number Diff line change
@@ -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 <target.length() ; i++) {
answer[i]='_';
}



}

@Override
public void guess(String s) {
String tmp = s.toLowerCase();
boolean isCorrect = false;
if (s.length() > 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 <target.length() ; i++) {
temp += answer[i]+" ";
}
return temp;


}

@Override
public boolean isWon() {
for(int i =0;i<this.target.length();i++){
if(this.target.charAt(i) != this.answer[i]){
return false;
}
}
return true;
}

@Override
public boolean isLost() {
if(this.life <= 0){
return true;
}
return false;
}
}
57 changes: 57 additions & 0 deletions WordMatch.java
Original file line number Diff line number Diff line change
@@ -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;
}
}