Skip to content

Commit 3db701c

Browse files
author
Dorian
committed
Adicionando espaço de palavras erradas
1 parent 1dee2e8 commit 3db701c

File tree

1 file changed

+42
-21
lines changed

1 file changed

+42
-21
lines changed

src/LetterDealer.java

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,67 @@
11
import java.util.Arrays;
2+
import java.util.ArrayList;
3+
import java.util.List;
24
import java.util.Scanner;
35

4-
public class LetterDealer{
5-
void guessLetter(String gameWord, int wordNumLetters, String hiddenWord){
6+
public class LetterDealer {
7+
void guessLetter(String gameWord, int wordNumLetters, String hiddenWord) {
68

9+
Scanner scan = new Scanner(System.in); //Initiatize out from While loop
710
char[] ch = gameWord.toLowerCase().toCharArray();
811
char[] chHidden = hiddenWord.toCharArray();
12+
13+
List<String> wrongLetters = new ArrayList<>();
914

10-
int rightLetters=0;
11-
int numTrys=7;
15+
int rightLetters = 0;
16+
int numTrys = 7;
1217

13-
while (true){
18+
while (true) {
1419

1520
boolean letterWasRight = false;
1621
char letter;
1722

18-
Scanner scan = new Scanner(System.in);
19-
20-
System.out.println("\nChute uma letra: ");
23+
System.out.println("Chute uma letra: ");
2124
letter = scan.nextLine().toLowerCase().charAt(0);
2225

23-
for (int i=0; i<ch.length; i++) {
26+
for (int i = 0; i < ch.length; i++) {
27+
28+
//Prevents counting the same correct letter twice
29+
30+
if (ch[i] == letter) {
31+
if(chHidden[i] == '_'){
32+
chHidden[i] = letter;
33+
rightLetters++;
34+
}
35+
letterWasRight = true;
36+
}
37+
System.out.print(chHidden[i] + " ");
38+
}
2439

25-
if (ch[i] == letter){
26-
chHidden[i] = letter;
27-
rightLetters++;
28-
letterWasRight = true;
40+
if (!letterWasRight) {
41+
42+
// CHAR -> STRING (letter value)
43+
String guessedInput = String.valueOf(letter);
44+
45+
//User's trying enter a same letter of wrongList elements
46+
if (wrongLetters.contains(guessedInput)) {
47+
System.out.println("\nOps, esta letra já foi escolhida: " + guessedInput);
48+
} else {
49+
wrongLetters.add(guessedInput);
50+
numTrys--;
2951
}
30-
System.out.print(chHidden[i]);
3152
}
3253

33-
if (!letterWasRight) numTrys--;
54+
System.out.println("\nLetras erradas: " + String.join(", ", wrongLetters));
55+
System.out.println("Você tem mais " + numTrys + " tentativas.");
3456

35-
System.out.println("\nVocê tem mais "+numTrys+" tentativas.");
36-
if (rightLetters == wordNumLetters){
37-
System.out.println("\nParabens, você acertou :)");
57+
if (rightLetters == wordNumLetters) {
58+
System.out.println("\nParabéns, você acertou :)");
3859
break;
39-
} else if (numTrys<=0) {
60+
} else if (numTrys <= 0) {
4061
System.out.println("\nPoxa, suas chances acabaram :(");
4162
break;
4263
}
43-
}
44-
}
4564

65+
}
66+
}
4667
}

0 commit comments

Comments
 (0)