-
Notifications
You must be signed in to change notification settings - Fork 0
/
LetterNotGuessed.java
133 lines (102 loc) · 4.15 KB
/
LetterNotGuessed.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
import greenfoot.*;
/**
* Write a description of class LetterNotGuessed here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class LetterNotGuessed implements iHangmanState
{
private int x;
/**
* Constructor for objects of class LetterNotGuessed
*/
public LetterNotGuessed()
{
}
public void initScreen()
{
}
public void keyPressed(String alphabet, World world)
{
//code to determine if the key pressed is correct or not
//if correct -> change state to letter guessed
//if not correct -> change state to letter not guessed
String wordFromDB = WordList.getWord();
String word = wordFromDB.toUpperCase();
System.out.println("word is "+ word);
int[] alphabetPosition = new int[word.length()];
int index =0;
int size = -1;
int pos =0;
for(int i=pos;i< word.length(); i ++){
if((index =word.indexOf(alphabet, pos))!= -1){
System.out.println("inside if");
alphabetPosition[++size]= index;
pos=index+1;
System.out.println("index, size, pos : " + index + " "+ size + " " + pos );
}
else
break;
}
if(size != -1){
//placeGuessedAlphabet(alphabet, alphabetPosition, size+1,word, world);
System.out.println("leter there");
HangmanGame.setState(HangmanGame.getLetterGuessedState());
iHangmanState state = HangmanGame.currentState;
state.placeGuessedAlphabet(alphabet, alphabetPosition, size+1,word, world);
//System.out.println("The filled number of letters are : " + letterCount);
if(word.length()==HangmanGame.letterCount)
{
System.out.println("Yayy!!!! You won!!!");
Message msg = new Message();
msg.setScale(120,40);
msg.drawMessage("Yay!!!\n You won!!!");
//Won_Message msg_won = new Won_Message();
world.addObject(msg, 800, 180);
Greenfoot.delay(100);
HangmanGame.setState(HangmanGame.getGameEndedState());
iHangmanState state1 = HangmanGame.currentState;
state1.initScreen();
}
}
else
{
System.out.println("Letter is not present");
reduceNoOfLives(world);
}
}
public void noLives()
{
}
public void quit()
{
//code to quit the game
HangmanGame.setState(HangmanGame.getGameEndedState());
iHangmanState state = HangmanGame.currentState;
state.initScreen();
}
public void gameWon()
{
}
public void startButtonPressed(String word)
{
}
public void reduceNoOfLives(World world)
{
//code to reduce the no of lives
Lives lives = new Lives();
int noOfLives = HangmanGame.updateNumberOfLives();
System.out.println("Number of lives in wordtoguess after updation is : "+ noOfLives);
lives.updateNoOfLives(world,noOfLives);
//check if all the lives are out, if yes, then change the state to game ended
if(noOfLives==0)
{
HangmanGame.setState(HangmanGame.getGameEndedState());
iHangmanState state = HangmanGame.currentState;
state.initScreen();
}
}
public void placeGuessedAlphabet(String alphabet, int[] arr, int size, String word, World world){
}
}