diff --git a/src/main/java/pl/edu/agh/hangman/DisplayResult.java b/src/main/java/pl/edu/agh/hangman/DisplayResult.java new file mode 100644 index 00000000..bdfba1bd --- /dev/null +++ b/src/main/java/pl/edu/agh/hangman/DisplayResult.java @@ -0,0 +1,7 @@ +package pl.edu.agh.hangman; + +public class DisplayResult { + + + +} diff --git a/src/main/java/pl/edu/agh/hangman/Hangman.java b/src/main/java/pl/edu/agh/hangman/Hangman.java index c402ace7..3dc49388 100644 --- a/src/main/java/pl/edu/agh/hangman/Hangman.java +++ b/src/main/java/pl/edu/agh/hangman/Hangman.java @@ -1,5 +1,8 @@ package pl.edu.agh.hangman; +import java.util.Scanner; + + public class Hangman { public static final String[] HANGMANPICS = new String[]{ @@ -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))); + + + } } diff --git a/src/main/java/pl/edu/agh/hangman/Logic.java b/src/main/java/pl/edu/agh/hangman/Logic.java new file mode 100644 index 00000000..05392287 --- /dev/null +++ b/src/main/java/pl/edu/agh/hangman/Logic.java @@ -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("_"); + } +} diff --git a/src/main/java/pl/edu/agh/hangman/PrintResult.java b/src/main/java/pl/edu/agh/hangman/PrintResult.java new file mode 100644 index 00000000..9c36b83f --- /dev/null +++ b/src/main/java/pl/edu/agh/hangman/PrintResult.java @@ -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); + + } +} \ No newline at end of file diff --git a/src/main/java/pl/edu/agh/hangman/RandomWord.java b/src/main/java/pl/edu/agh/hangman/RandomWord.java new file mode 100644 index 00000000..5f6849c9 --- /dev/null +++ b/src/main/java/pl/edu/agh/hangman/RandomWord.java @@ -0,0 +1,8 @@ +package pl.edu.agh.hangman; + +public interface RandomWord { + + String getRandomWord(); + + +} diff --git a/src/main/java/pl/edu/agh/hangman/RandomWordFromFile.java b/src/main/java/pl/edu/agh/hangman/RandomWordFromFile.java new file mode 100644 index 00000000..e62a172a --- /dev/null +++ b/src/main/java/pl/edu/agh/hangman/RandomWordFromFile.java @@ -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 getWordsFromFile(){ + + File file = new File("src/main/resources/slowa.txt"); + ArrayList 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 randomWord = getWordsFromFile(); + return randomWord.get(random.nextInt(randomWord.size())); + } + +} diff --git a/src/main/java/pl/edu/agh/hangman/RandomWordFromInternet.java b/src/main/java/pl/edu/agh/hangman/RandomWordFromInternet.java new file mode 100644 index 00000000..3066aa7c --- /dev/null +++ b/src/main/java/pl/edu/agh/hangman/RandomWordFromInternet.java @@ -0,0 +1,8 @@ +package pl.edu.agh.hangman; + +public class RandomWordFromInternet implements RandomWord { + @Override + public String getRandomWord() { + return null; + } +}