diff --git a/src/main/java/ch/hepia/hangman/hangman.java b/src/main/java/ch/hepia/hangman/hangman.java new file mode 100644 index 0000000000000000000000000000000000000000..c1e8bdb6fa4599892183e15d6b0199e4353699df --- /dev/null +++ b/src/main/java/ch/hepia/hangman/hangman.java @@ -0,0 +1,137 @@ +package ch.hepia.hangman; +public class hangman +{ + /* + currentWord = l'avancement actuel du mot ex : _a___ == David + guessWord = le mot rechercher ex David + letter = la lettre entrers + Ex : + currentWord = _____ + guessWord = David + letter = 'a' + + resultat = _a____ + */ + public static String check(String currentWord,String guessWord,char letter) + { + //les string sont immutable en java + //conversion en tableau de char + char[] tempArray= currentWord.toCharArray(); + for(int i=0;i<guessWord.length();i++) + { + if(guessWord.charAt(i)==letter)//a ajouter les test majuscule + { + tempArray[i]=letter; + } + } + return String.valueOf(tempArray); + } + /* + guessWord = le mot a cacher + Ex : + guessWord = David + resultat = ______ + */ + public static String createWord(String guessWord) + { + char tempArray[]=guessWord.toCharArray(); + for(int i =0;i<guessWord.length();i++) + { + tempArray[i]='_'; + } + return String.valueOf(tempArray); + } + /* + Affiche l'etat de la potence en fonction du nombre d'essai. + */ + public static void showHangman(int essai) + { + System.out.println("----------"); + switch(essai) + { + case 1: + System.out.println("|/"); + for(int i=0;i<6;i++) + { + System.out.println("|"); + } + break; + case 2: + System.out.println("|/ |"); + for(int i=0;i<6;i++) + { + System.out.println("|"); + } + break; + case 3 : + System.out.println("|/ |"); + System.out.println("| (_)"); + for(int i=0;i<5;i++) + { + System.out.println("|"); + } + break; + case 4 : + System.out.println("|/ |"); + System.out.println("| (_)"); + System.out.println("| |"); + for(int i=0;i<4;i++) + { + System.out.println("|"); + } + break; + case 5 : + System.out.println("|/ |"); + System.out.println("| (_)"); + System.out.println("| /|"); + for(int i=0;i<4;i++) + { + System.out.println("|"); + } + break; + case 6 : + System.out.println("|/ |"); + System.out.println("| (_)"); + System.out.println("| /|\\"); + for(int i=0;i<4;i++) + { + System.out.println("|"); + } + break; + case 7 : + System.out.println("|/ |"); + System.out.println("| (_)"); + System.out.println("| /|\\"); + System.out.println("| | "); + for(int i=0;i<3;i++) + { + System.out.println("|"); + } + break; + case 8 : + System.out.println("|/ |"); + System.out.println("| (_)"); + System.out.println("| /|\\"); + System.out.println("| | "); + System.out.println("| / "); + for(int i=0;i<2;i++) + { + System.out.println("|"); + } + break; + case 9 : + System.out.println("|/ |"); + System.out.println("| (_)"); + System.out.println("| /|\\"); + System.out.println("| | "); + System.out.println("| / \\"); + for(int i=0;i<2;i++) + { + System.out.println("|"); + } + break; + } + System.out.println(""); + } + +} \ No newline at end of file diff --git a/src/test/java/ch/hepia/hangman/AppTest.java b/src/test/java/ch/hepia/hangman/AppTest.java new file mode 100644 index 0000000000000000000000000000000000000000..8429ff8ae945901d2329a3bb0b75f64b3ffe821e --- /dev/null +++ b/src/test/java/ch/hepia/hangman/AppTest.java @@ -0,0 +1,27 @@ +package ch.hepia.hangman; + +import org.junit.jupiter.api.Test; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.assertFalse; + + +class HangmanTests +{ + @Test + void check_create() + { + String hiddenWord= hangman.createWord("david"); + assertEquals(hiddenWord,"_____"); + + } + @Test + void check_test() + { + String hiddenWord= hangman.createWord("david"); + hiddenWord=hangman.check(hiddenWord,"david",'d'); + assertEquals(hiddenWord,"d___d"); + } +}