Skip to content
Open
7 changes: 7 additions & 0 deletions src/main/java/pl/edu/agh/hangman/DisplayResult.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package pl.edu.agh.hangman;

public class DisplayResult {



}
26 changes: 26 additions & 0 deletions src/main/java/pl/edu/agh/hangman/Hangman.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package pl.edu.agh.hangman;

import java.util.Scanner;


public class Hangman {

public static final String[] HANGMANPICS = new String[]{
Expand Down Expand Up @@ -54,6 +57,29 @@ public class Hangman {
"========"
};

public static final String GAMELOSE = "°՞(ᗒᗣᗕ)՞°";

public static final String GAMEWIN = "(ノ◕ヮ◕)ノ*:・゚✧";

public static void main(String[] args) {


RandomWord random = new RandomWordFromFile();



Logic logic = new Logic(random.getRandomWord());
String input;

do{
Scanner scanner = new Scanner(System.in);
System.out.println("Podaj literke : ");
input = scanner.nextLine();


}while(logic.checkLetter(input.charAt(0)));



}
}
32 changes: 32 additions & 0 deletions src/main/java/pl/edu/agh/hangman/Logic.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package pl.edu.agh.hangman;

import static pl.edu.agh.hangman.PrintResult.printResult;

public class Logic {
int level = 0;
String wordToFind;
StringBuilder currentWord;

public Logic(String wordToFind) {
this.wordToFind = wordToFind.toUpperCase();
currentWord = new StringBuilder().insert(wordToFind.length(), "_");
}

public boolean checkLetter(char letter) {
boolean state = true;
char letterUpper = Character.toUpperCase(letter);
if (wordToFind.indexOf(letterUpper) < 0) {
level++;
} else {

for (int i = 0; i < wordToFind.length(); i++) {
if (wordToFind.charAt(i) == letterUpper) {
currentWord.replace(i, i, String.valueOf(letterUpper));
}
}
}

printResult(level, currentWord.toString());
return currentWord.toString().contains("_");
}
}
32 changes: 32 additions & 0 deletions src/main/java/pl/edu/agh/hangman/PrintResult.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package pl.edu.agh.hangman;

import static pl.edu.agh.hangman.Hangman.*;

public class PrintResult {

public static void printResult(int level, String word) {

StringBuilder stringBuilder = new StringBuilder(HANGMANPICS[level]);
stringBuilder.insert(31, "\t" + word);

/*if(level != 6 && word != "prawnik") {
System.out.println(HANGMANPICS[level]);
System.out.println("guess>");
}

if (level == 6) {
System.out.println(HANGMANPICS[level]);
System.out.println(GAMELOSE);

}

if (level !=6 && word == "prawnik") {
System.out.println(HANGMANPICS[level]);
System.out.println(GAMEWIN);

}*/

System.out.println(stringBuilder);

}
}
8 changes: 8 additions & 0 deletions src/main/java/pl/edu/agh/hangman/RandomWord.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package pl.edu.agh.hangman;

public interface RandomWord {

String getRandomWord();


}
36 changes: 36 additions & 0 deletions src/main/java/pl/edu/agh/hangman/RandomWordFromFile.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package pl.edu.agh.hangman;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Random;

public class RandomWordFromFile implements RandomWord {

private ArrayList<String> getWordsFromFile(){

File file = new File("src/main/resources/slowa.txt");
ArrayList<String> allWords = new ArrayList<>();
String line = null;

try {
BufferedReader bufferedReader = Files.newBufferedReader(file.toPath());
while((line = bufferedReader.readLine()) != null){
allWords.add(line);
}

} catch (IOException e) {
throw new RuntimeException(e);
}
return allWords;
}

public String getRandomWord() {
Random random = new Random();
ArrayList<String> randomWord = getWordsFromFile();
return randomWord.get(random.nextInt(randomWord.size()));
}

}
8 changes: 8 additions & 0 deletions src/main/java/pl/edu/agh/hangman/RandomWordFromInternet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package pl.edu.agh.hangman;

public class RandomWordFromInternet implements RandomWord {
@Override
public String getRandomWord() {
return null;
}
}