Advertisement
xCraftRayX

Untitled

Mar 18th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.85 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3.  
  4. public class Game
  5. {
  6.     private static String word;
  7.     private static String hiddenWord;
  8.     private static ArrayList<Character> usedChar = new ArrayList<Character>();
  9.     private static int differentCharacters = 0;
  10.     private static int chance = 7;
  11.  
  12.     public static void start()
  13.     {
  14.         word = Wisielec.getRandomWord();
  15.         hiddenWord = getHiddenWord();
  16.         differentCharacters = Wisielec.getDifferentCharacters(word);
  17.        
  18.         sendStartMessage();
  19.        
  20.         while(chance != 0)
  21.         {
  22.             char litera;
  23.             Scanner odczyt = new Scanner(System.in);
  24.            
  25.             if(odczyt.hasNext())
  26.             {
  27.                 String znak = odczyt.next();
  28.                 if(znak.length() == 1)
  29.                 {
  30.                     litera = znak.charAt(0);
  31.                    
  32.                     if(!usedChar.contains(litera) && word.indexOf(litera) >= 0)
  33.                     {
  34.                         correctly(litera);
  35.                         if(isWin())
  36.                         {
  37.                             odczyt.close();
  38.                             return;
  39.                         }
  40.                     }
  41.                     else
  42.                     {
  43.                         incorrectly();
  44.                     }
  45.                 }
  46.                 else
  47.                 {
  48.                     incorrectly();
  49.                     System.out.println("To nie jest 1 znak!");
  50.                 }
  51.             }
  52.         }
  53.     }
  54.    
  55.     public static boolean isWin()
  56.     {
  57.         if(differentCharacters == usedChar.size())
  58.         {
  59.             return true;
  60.         }
  61.         else
  62.         {
  63.             return false;
  64.         }
  65.     }
  66.    
  67.     public static void sendStartMessage()
  68.     {
  69.         printGraphWithTag(chance);
  70.         System.out.println("#####################################");
  71.         System.out.println("# Hasło: "+hiddenWord + "\n#");
  72.         System.out.println("# Twoje hasło składa się z " + word.length() + " znaków,\n# spróbuj je odgadnąć!\n# Możesz skuć tylko 6 razy.\n# Powodzenia!\n#");
  73.         System.out.println("# Wprowadź literę...");
  74.         System.out.println("#####################################");
  75.     }
  76.    
  77.     public static String getHiddenWord()
  78.     {
  79.         String text = "";
  80.         for(int i = 0; i< word.length(); i++)
  81.         {
  82.             text = text.concat("_");
  83.         }
  84.        
  85.         return text;
  86.     }
  87.    
  88.     public static void addCharToHiddenWord(char c)
  89.     {
  90.         char[] hiddenW = new char[word.length()];
  91.         hiddenW = hiddenWord.toCharArray();
  92.        
  93.         for(int i = 0; i< word.length(); i++)
  94.         {
  95.             if(word.charAt(i) == c)
  96.             {
  97.                 hiddenW[i] = c;
  98.             }
  99.         }
  100.        
  101.         hiddenWord = String.valueOf(hiddenW);
  102.     }
  103.    
  104.    
  105.     public static void correctly(char word)
  106.     {
  107.         addCharToHiddenWord(word);
  108.         usedChar.add(word);
  109.         printGraphWithTag(chance);
  110.         System.out.println("#####################################");
  111.         System.out.println("# Hasło: " + hiddenWord + "\n#");
  112.         System.out.println("# Trafione!\n# Pozostało tobie: "+ chance + " szans!");
  113.         if(!isWin())
  114.         {
  115.             System.out.println("#\n# Wprowadź kolejną literę...");
  116.         }
  117.         else
  118.         {
  119.             System.out.println("#\n# Gratulacje!\n# Odgadłeś/aś hasło!");
  120.         }
  121.         System.out.println("#####################################");
  122.     }
  123.    
  124.     public static void incorrectly()
  125.     {
  126.         chance--;
  127.        
  128.         printGraphWithTag(chance);
  129.        
  130.         System.out.println("#####################################");
  131.         System.out.println("# Hasło: " + hiddenWord + "\n#");
  132.         if(chance != 0)
  133.         {
  134.             System.out.println("# BŁĄD!\n# Pozostało tobie: "+ chance + " szans!\n# Wprowadź kolejną literę...");
  135.         }
  136.         else
  137.         {
  138.             System.out.println("# Błąd!\n# Wykorzystano wszystkie szanse!\n# Nie odgadnięto hasła: " + word + "\n# Przegrana :(");
  139.         }
  140.         System.out.println("#####################################");
  141.     }
  142.    
  143.     public static void printGraphWithTag(int chance)
  144.     {
  145.         switch(chance)
  146.         {
  147.             case 7:
  148.                 printTAG();
  149.                 System.out.println(" ___________.._______\r\n" +
  150.                         "| .__________))______|\r\n" +
  151.                         "| | / /\n" +
  152.                         "| |/ /\n" +
  153.                         "| | /\n" +
  154.                         "| |/\n" +
  155.                         "| |\n" +
  156.                         "| |\n" +
  157.                         "| |\n" +
  158.                         "| |\n" +
  159.                         "| |\n" +
  160.                         "| |\n" +
  161.                         "| |\n" +
  162.                         "| |\n" +
  163.                         "| |\n" +
  164.                         "| |\n" +
  165.                         "| |\n" +
  166.                         "| |\n" +
  167.                         "\"\"\"\"\"\"\"\"\"\"|         |\"\"\"|\r\n" +
  168.                         "|\"|\"\"\"\"\"\"\"\\ \\       '\"|\"|\r\n" +
  169.                         "| |        \\ \\        | |\r\n" +
  170.                         ": :         \\ \\       : :  \r\n" +
  171.                         ". .          `'       . .\n");
  172.                 break;
  173.             case 6:
  174.                 printTAG();
  175.                 System.out.println(" ___________.._______\r\n" +
  176.                         "| .__________))______|\r\n" +
  177.                         "| | / /      ||\n" +
  178.                         "| |/ /       ||\n" +
  179.                         "| | /        ||\n" +
  180.                         "| |/         ||\n" +
  181.                         "| |          ||\n" +
  182.                         "| |\n" +
  183.                         "| |\n" +
  184.                         "| |\n" +
  185.                         "| |\n" +
  186.                         "| |\n" +
  187.                         "| |\n" +
  188.                         "| |\n" +
  189.                         "| |               \n" +
  190.                         "| |               \n" +
  191.                         "| |               \n" +
  192.                         "| |                \n" +
  193.                         "\"\"\"\"\"\"\"\"\"\"|         |\"\"\"|\r\n" +
  194.                         "|\"|\"\"\"\"\"\"\"\\ \\       '\"|\"|\r\n" +
  195.                         "| |        \\ \\        | |\r\n" +
  196.                         ": :         \\ \\       : :  \r\n" +
  197.                         ". .          `'       . .\n");
  198.                 break;
  199.             case 5:
  200.                 printTAG();
  201.                 System.out.println(" ___________.._______\r\n" +
  202.                         "| .__________))______|\r\n" +
  203.                         "| | / /      ||\r\n" +
  204.                         "| |/ /       ||\r\n" +
  205.                         "| | /        ||.-''.\r\n" +
  206.                         "| |/         |/  _  \\\r\n" +
  207.                         "| |          ||  `/,|\r\n" +
  208.                         "| |          (\\\\`_.'\r\n" +
  209.                         "| |\n" +
  210.                         "| |\n" +
  211.                         "| |\n" +
  212.                         "| |\n" +
  213.                         "| |\n" +
  214.                         "| |\n" +
  215.                         "| |               \n" +
  216.                         "| |               \n" +
  217.                         "| |               \n" +
  218.                         "| |                \n" +
  219.                         "\"\"\"\"\"\"\"\"\"\"|         |\"\"\"|\r\n" +
  220.                         "|\"|\"\"\"\"\"\"\"\\ \\       '\"|\"|\r\n" +
  221.                         "| |        \\ \\        | |\r\n" +
  222.                         ": :         \\ \\       : :  \r\n" +
  223.                         ". .          `'       . .\n");
  224.                 break;
  225.             case 4:
  226.                 printTAG();
  227.                 System.out.println(" ___________.._______\r\n" +
  228.                         "| .__________))______|\r\n" +
  229.                         "| | / /      ||\r\n" +
  230.                         "| |/ /       ||\r\n" +
  231.                         "| | /        ||.-''.\r\n" +
  232.                         "| |/         |/  _  \\\r\n" +
  233.                         "| |          ||  `/,|\r\n" +
  234.                         "| |          (\\\\`_.'\r\n" +
  235.                         "| |         .-`--'.\n" +
  236.                         "| |           . . \n" +
  237.                         "| |          |   |\n" +
  238.                         "| |          | . |\n" +
  239.                         "| |          |   |\n" +
  240.                         "| |            '  \r\n" +
  241.                         "| |               \r\n" +
  242.                         "| |               \r\n" +
  243.                         "| |               \r\n" +
  244.                         "| |                \n" +
  245.                         "\"\"\"\"\"\"\"\"\"\"|         |\"\"\"|\r\n" +
  246.                         "|\"|\"\"\"\"\"\"\"\\ \\       '\"|\"|\r\n" +
  247.                         "| |        \\ \\        | |\r\n" +
  248.                         ": :         \\ \\       : :  \r\n" +
  249.                         ". .          `'       . .\n");
  250.                 break;
  251.             case 3:
  252.                 printTAG();
  253.                 System.out.println(" ___________.._______\r\n" +
  254.                         "| .__________))______|\r\n" +
  255.                         "| | / /      ||\r\n" +
  256.                         "| |/ /       ||\r\n" +
  257.                         "| | /        ||.-''.\r\n" +
  258.                         "| |/         |/  _  \\\r\n" +
  259.                         "| |          ||  `/,|\r\n" +
  260.                         "| |          (\\\\`_.'\r\n" +
  261.                         "| |         .-`--'.\r\n" +
  262.                         "| |           . . Y\\\r\n" +
  263.                         "| |          |   | \\\\\r\n" +
  264.                         "| |          | . |  \\\\\r\n" +
  265.                         "| |          |   |   (`\r\n" +
  266.                         "| |            '  \r\n" +
  267.                         "| |               \r\n" +
  268.                         "| |               \r\n" +
  269.                         "| |               \r\n" +
  270.                         "| |                \n" +
  271.                         "\"\"\"\"\"\"\"\"\"\"|         |\"\"\"|\r\n" +
  272.                         "|\"|\"\"\"\"\"\"\"\\ \\       '\"|\"|\r\n" +
  273.                         "| |        \\ \\        | |\r\n" +
  274.                         ": :         \\ \\       : :  \r\n" +
  275.                         ". .          `'       . .\n");
  276.                 break;
  277.             case 2:
  278.                 printTAG();
  279.                 System.out.println(" ___________.._______\r\n" +
  280.                         "| .__________))______|\r\n" +
  281.                         "| | / /      ||\r\n" +
  282.                         "| |/ /       ||\r\n" +
  283.                         "| | /        ||.-''.\r\n" +
  284.                         "| |/         |/  _  \\\r\n" +
  285.                         "| |          ||  `/,|\r\n" +
  286.                         "| |          (\\\\`_.'\r\n" +
  287.                         "| |         .-`--'.\r\n" +
  288.                         "| |        /Y . . Y\\\r\n" +
  289.                         "| |       // |   | \\\\\r\n" +
  290.                         "| |      //  | . |  \\\\\r\n" +
  291.                         "| |     ')   |   |   (`\r\n" +
  292.                         "| |            '  \r\n" +
  293.                         "| |               \r\n" +
  294.                         "| |               \r\n" +
  295.                         "| |               \r\n" +
  296.                         "| |                \n" +
  297.                         "\"\"\"\"\"\"\"\"\"\"|         |\"\"\"|\r\n" +
  298.                         "|\"|\"\"\"\"\"\"\"\\ \\       '\"|\"|\r\n" +
  299.                         "| |        \\ \\        | |\r\n" +
  300.                         ": :         \\ \\       : :  \r\n" +
  301.                         ". .          `'       . .\n");
  302.                 break;
  303.             case 1:
  304.                 printTAG();
  305.                 System.out.println(" ___________.._______\r\n" +
  306.                         "| .__________))______|\r\n" +
  307.                         "| | / /      ||\r\n" +
  308.                         "| |/ /       ||\r\n" +
  309.                         "| | /        ||.-''.\r\n" +
  310.                         "| |/         |/  _  \\\r\n" +
  311.                         "| |          ||  `/,|\r\n" +
  312.                         "| |          (\\\\`_.'\r\n" +
  313.                         "| |         .-`--'.\r\n" +
  314.                         "| |        /Y . . Y\\\r\n" +
  315.                         "| |       // |   | \\\\\r\n" +
  316.                         "| |      //  | . |  \\\\\r\n" +
  317.                         "| |     ')   |   |   (`\r\n" +
  318.                         "| |            '||\r\n" +
  319.                         "| |             ||\r\n" +
  320.                         "| |             ||\r\n" +
  321.                         "| |             ||\r\n" +
  322.                         "| |             | \\\r\n" +
  323.                         "\"\"\"\"\"\"\"\"\"\"|     `-' |\"\"\"|\r\n" +
  324.                         "|\"|\"\"\"\"\"\"\"\\ \\       '\"|\"|\r\n" +
  325.                         "| |        \\ \\        | |\r\n" +
  326.                         ": :         \\ \\       : :  \r\n" +
  327.                         ". .          `'       . .\n");
  328.                 break;
  329.             case 0:
  330.                 printTAG();
  331.                 System.out.println(" ___________.._______\r\n" +
  332.                         "| .__________))______|\r\n" +
  333.                         "| | / /      ||\r\n" +
  334.                         "| |/ /       ||\r\n" +
  335.                         "| | /        ||.-''.\r\n" +
  336.                         "| |/         |/  _  \\\r\n" +
  337.                         "| |          ||  `/,|\r\n" +
  338.                         "| |          (\\\\`_.'\r\n" +
  339.                         "| |         .-`--'.\r\n" +
  340.                         "| |        /Y . . Y\\\r\n" +
  341.                         "| |       // |   | \\\\\r\n" +
  342.                         "| |      //  | . |  \\\\\r\n" +
  343.                         "| |     ')   |   |   (`\r\n" +
  344.                         "| |          ||'||\r\n" +
  345.                         "| |          || ||\r\n" +
  346.                         "| |          || ||\r\n" +
  347.                         "| |          || ||\r\n" +
  348.                         "| |         / | | \\\r\n" +
  349.                         "\"\"\"\"\"\"\"\"\"\"|_`-' `-' |\"\"\"|\r\n" +
  350.                         "|\"|\"\"\"\"\"\"\"\\ \\       '\"|\"|\r\n" +
  351.                         "| |        \\ \\        | |\r\n" +
  352.                         ": :         \\ \\       : :  \r\n" +
  353.                         ". .          `'       . .\n");
  354.                 break;
  355.         }
  356.     }
  357.    
  358.     public static void printTAG()
  359.     {
  360.         System.out.println(" __      __                          ___                      ____                \r\n" +
  361.                 "/\\ \\  __/\\ \\  __          __        /\\_ \\                    /\\  _`\\              \r\n" +
  362.                 "\\ \\ \\/\\ \\ \\ \\/\\_\\    ____/\\_\\     __\\//\\ \\      __    ___    \\ \\ \\L\\ \\  __  __    \r\n" +
  363.                 " \\ \\ \\ \\ \\ \\ \\/\\ \\  /',__\\/\\ \\  /'__`\\\\ \\ \\   /'__`\\ /'___\\   \\ \\  _ <'/\\ \\/\\ \\   \r\n" +
  364.                 "  \\ \\ \\_/ \\_\\ \\ \\ \\/\\__, `\\ \\ \\/\\  __/ \\_\\ \\_/\\  __//\\ \\__/    \\ \\ \\L\\ \\ \\ \\_\\ \\  \r\n" +
  365.                 "   \\ `\\___x___/\\ \\_\\/\\____/\\ \\_\\ \\____\\/\\____\\ \\____\\ \\____\\    \\ \\____/\\/`____ \\ \r\n" +
  366.                 "    '\\/__//__/  \\/_/\\/___/  \\/_/\\/____/\\/____/\\/____/\\/____/     \\/___/  `/___/> \\\r\n" +
  367.                 "                                                                            /\\___/\r\n" +
  368.                 "                                                                            \\/__/ \r\n" +
  369.                 " ____                                  __      ____         \r\n" +
  370.                 "/\\  _`\\                         __    /\\ \\    /\\  _`\\       \r\n" +
  371.                 "\\ \\ \\/\\ \\     __     __  __  __/\\_\\   \\_\\ \\   \\ \\ \\L\\_\\     \r\n" +
  372.                 " \\ \\ \\ \\ \\  /'__`\\  /\\ \\/\\ \\/\\ \\/\\ \\  /'_` \\   \\ \\ \\L_L     \r\n" +
  373.                 "  \\ \\ \\_\\ \\/\\ \\L\\.\\_\\ \\ \\_/ \\_/ \\ \\ \\/\\ \\L\\ \\   \\ \\ \\/, \\__ \r\n" +
  374.                 "   \\ \\____/\\ \\__/.\\_\\\\ \\___x___/'\\ \\_\\ \\___,_\\   \\ \\____/\\_\\\r\n" +
  375.                 "    \\/___/  \\/__/\\/_/ \\/__//__/   \\/_/\\/__,_ /    \\/___/\\/_/");
  376.     }
  377. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement