File tree Expand file tree Collapse file tree 3 files changed +142
-0
lines changed Expand file tree Collapse file tree 3 files changed +142
-0
lines changed Original file line number Diff line number Diff line change 1+ public interface GuessingGame {
2+
3+ void setAnswer (String ans );
4+ void guess (String s );
5+ String getOutput ();
6+ boolean isWon ();
7+ boolean isLost ();
8+ }
Original file line number Diff line number Diff line change 1+ public class Hangman implements GuessingGame {
2+ private String target ;
3+ private int life ;
4+ private char [] answer ;
5+
6+ private boolean fact =false ;
7+ public Hangman () {
8+ life = 6 ;
9+ }
10+
11+
12+
13+
14+ @ Override
15+ public void setAnswer (String ans ) {
16+
17+ target = ans .toLowerCase ();
18+ answer = new char [target .length ()];
19+ for (int i = 0 ; i <target .length () ; i ++) {
20+ answer [i ]='_' ;
21+ }
22+
23+
24+
25+ }
26+
27+ @ Override
28+ public void guess (String s ) {
29+ String tmp = s .toLowerCase ();
30+ boolean isCorrect = false ;
31+ if (s .length () > 1 ) {
32+ fact = true ;
33+ } else {
34+ for (int i = 0 ; i < target .length (); i ++) {
35+
36+ if (target .charAt (i ) == tmp .charAt (0 )) {
37+ answer [i ] = tmp .charAt (0 );
38+ isCorrect = true ;
39+ }
40+ }
41+ if (isCorrect == false ) life --;
42+ }
43+ }
44+
45+ @ Override
46+ public String getOutput () {
47+ if (fact == true ){
48+ fact = false ;
49+ return "One character only" ;
50+ }
51+ String temp ="" ;
52+ for (int i = 0 ; i <target .length () ; i ++) {
53+ temp += answer [i ]+" " ;
54+ }
55+ return temp ;
56+
57+
58+ }
59+
60+ @ Override
61+ public boolean isWon () {
62+ for (int i =0 ;i <this .target .length ();i ++){
63+ if (this .target .charAt (i ) != this .answer [i ]){
64+ return false ;
65+ }
66+ }
67+ return true ;
68+ }
69+
70+ @ Override
71+ public boolean isLost () {
72+ if (this .life <= 0 ){
73+ return true ;
74+ }
75+ return false ;
76+ }
77+ }
Original file line number Diff line number Diff line change 1+ public class WordMatch implements GuessingGame {
2+ private String answer ;
3+ private int match ;
4+ private boolean fact = false ;
5+
6+ public WordMatch () {
7+ this .match = 0 ;
8+ }
9+
10+ @ Override
11+ public void setAnswer (String ans ) {
12+ answer = ans .toLowerCase ();
13+ }
14+
15+ @ Override
16+ public void guess (String s ) {
17+ String tmp = s .toLowerCase ();
18+ match =0 ;
19+ if (s .length ()!= answer .length ()){
20+ fact = true ;
21+ }
22+ else {
23+ for (int i = 0 ; i < answer .length (); i ++) {
24+ if (answer .charAt (i ) == tmp .charAt (i )) {
25+ match ++;
26+ }
27+ }
28+ }
29+ }
30+
31+ @ Override
32+ public String getOutput () {
33+ if (fact == true ){
34+ fact =false ;
35+ return "Length not match" ;
36+ }
37+ else if (match == answer .length ()){
38+ return "" ;
39+ }
40+ else {
41+ return "Match " + match ;
42+ }
43+ }
44+
45+ @ Override
46+ public boolean isWon () {
47+ if (match == answer .length ()){
48+ return true ;
49+ }
50+ return false ;
51+ }
52+
53+ @ Override
54+ public boolean isLost () {
55+ return false ;
56+ }
57+ }
You can’t perform that action at this time.
0 commit comments