package adamira.cz; import sugar.Sys; public class Hangman2 { static String[][] obrazy = { { " * * * * ", " * * ", " * O O * ", " * * ", " * U * ", " * _____ * ", " * * ", " * * * * " }, { " * ", " * ", " * ", " * ", " * ", " * ", " * ", " * * * * * * * * * * * * " }, { " * * * * * * * ", " * ", " * ", " * ", " * ", " * ", " * ", " * * * * * * * * * * * * " }, { " * * * * * * * ", " * * ", " * * ", " * ", " * ", " * ", " * ", " * * * * * * * * * * * * " }, { " * * * * * * * ", " * * * ", " * * * ", " * ", " * ", " * ", " * ", " * * * * * * * * * * * * " }, { " * * * * * * * ", " * * * ", " * * * ", " * * * ", " * * ", " * ", " * ", " * * * * * * * * * * * * " }, { " * * * * * ", " * o o * ", " * u * ", " * xxx * ", " * * * ", " * * * * * * * * ", " * * * * ", " * * * * * * * * " } }; static String[] vety = { "nazdar lidi", "kocka leze dirou", "prsi prsi jen se leje", "pes", "rek", "prs", "prd", "krk", "prk" }; /////////////////////////////////////////////////////////////////////////////// // funkce, ktera zjisti, zda zadany znak je pismeno static boolean jePismeno(char znak) { return (znak >= 'a') && (znak <= 'z'); } /////////////////////////////////////////////////////////////////////////////// // funkce, ktera zjisti, zda zadany znak je pismeno // a neni na seznamu spatnych pismen static boolean jeDobrePismeno(char znak, boolean[] spatnaPismena) { return jePismeno(znak) && (!spatnaPismena[znak - 'a']); } /////////////////////////////////////////////////////////////////////////////// // funkce, ktera najde shody masky s vetami: // do pole shody[] ulozi logicke hodnoty a vraci pocet shod static int najdiShody( String maska, boolean[] shody, boolean[] spatnaPismena, char uhodnutyZnak) { int pocetShod = 0; for (int i=0; i maxVyskytu) { maxVyskytu = vyskytyPismen[i]; nejcastejsi = (char) (i + 'a'); } return nejcastejsi; } /////////////////////////////////////////////////////////////////////////////// // funkce, ktera zjisti, jestli jsem vyhral public static boolean vyhralJsem(String maska) { for (int i=0; i= obrazy.length - 1); } /////////////////////////////////////////////////////////////////////////////// // funkce, ktera ke vstupnimu poli retezcu prida dalsi retezec public static String[] pridejRetezec(String[] vstup, String Retezec) { String[] vystup = new String[vstup.length + 1]; for (int i=0; i masky.length)); return masky[cislo - 1]; } } /////////////////////////////////////////////////////////////////////////////// // hlavni metoda public static void main(String[] args) { // priprava boolean[] shody = new boolean[vety.length]; // true = prislusna veta odpovida masce int pocetShod; // pocet hodnot "true" v poli shody[] int pocetChyb = 0; // kolik jsem udelal chyb String maska; // maska vety, kterou hadam int pocetPismen = 'z' - 'a' + 1; boolean[] spatnaPismena = new boolean[pocetPismen]; // true = o prislusnem pismenu uzivatel rekl, ze ve slove neni, // nebo jsem pismeno uhodl => nema smysl se na nej znovu ptat for (int i=0; i