Advertisement
Dar954826

49 Tiles[ITA].java

Mar 3rd, 2015
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.17 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4. import java.util.concurrent.ThreadLocalRandom;
  5.  
  6. public class Tiles {
  7.     private static Scanner dd;
  8.  
  9.     public static String usable(ArrayList<Integer> k, List<String> lis) {
  10.         ArrayList<Integer> lll = new ArrayList<Integer>();
  11.         for (int a = 0; a < k.size(); a++) {
  12.             if (lis.get(k.get(a)) == "  ") {
  13.                 lll.add(k.get(a) + 1);
  14.             }
  15.         }
  16.         StringBuilder kkk = new StringBuilder();
  17.         kkk.append(lll.toString());
  18.         String g = kkk.substring(1, kkk.length() - 1);
  19.         return g;
  20.     }
  21.  
  22.     public static void prin2(List<String> k, List<Integer> log) {
  23.         for (int a = 0; a < log.size(); a++) {
  24.             if (k.get(log.get(a)) == "  ") {
  25.                 k.set(log.get(a), "XX");
  26.             }
  27.         }
  28.         System.out.println(k.get(0) + "|" + k.get(1) + "|" + k.get(2) + "|"
  29.                 + k.get(3) + "|" + k.get(4) + "|" + k.get(5) + "|" + k.get(6)
  30.                 + "     01|02|03|04|05|06|07");
  31.         System.out.println("--------------------" + "       --------------------");
  32.         System.out.println(k.get(7) + "|" + k.get(8) + "|" + k.get(9) + "|"
  33.                 + k.get(10) + "|" + k.get(11) + "|" + k.get(12) + "|"
  34.                 + k.get(13) + "     08|09|10|11|12|13|14");
  35.         System.out.println("--------------------" + "       --------------------");
  36.         System.out.println(k.get(14) + "|" + k.get(15) + "|" + k.get(16) + "|"
  37.                 + k.get(17) + "|" + k.get(18) + "|" + k.get(19) + "|"
  38.                 + k.get(20) + "     15|16|17|18|19|20|21");
  39.         System.out.println("--------------------" + "       --------------------");
  40.         System.out.println(k.get(21) + "|" + k.get(22) + "|" + k.get(23) + "|"
  41.                 + k.get(24) + "|" + k.get(25) + "|" + k.get(26) + "|"
  42.                 + k.get(27) + "     22|23|24|25|26|27|28");
  43.         System.out.println("--------------------" + "       --------------------");
  44.         System.out.println(k.get(28) + "|" + k.get(29) + "|" + k.get(30) + "|"
  45.                 + k.get(31) + "|" + k.get(32) + "|" + k.get(33) + "|"
  46.                 + k.get(34) + "     29|30|31|32|33|34|35");
  47.         System.out.println("--------------------" + "       --------------------");
  48.         System.out.println(k.get(35) + "|" + k.get(36) + "|" + k.get(37) + "|"
  49.                 + k.get(38) + "|" + k.get(39) + "|" + k.get(40) + "|"
  50.                 + k.get(41) + "     36|37|38|39|40|41|42");
  51.         System.out.println("--------------------" + "       --------------------");
  52.         System.out.println(k.get(42) + "|" + k.get(43) + "|" + k.get(44) + "|"
  53.                 + k.get(45) + "|" + k.get(46) + "|" + k.get(47) + "|"
  54.                 + k.get(48) + "     43|44|45|46|47|48|49");
  55.         for (int a = 0; a < log.size(); a++) {
  56.             if (k.get(log.get(a)) == "XX") {
  57.                 k.set(log.get(a), "  ");
  58.             }
  59.         }
  60.     }
  61.  
  62.     public static ArrayList<Integer> check(String[] a) {
  63.         ArrayList<Integer> log = new ArrayList<Integer>();
  64.         for (int b = 0; b < a.length; b++) {
  65.             log.add(Integer.parseInt(a[b]));
  66.         }
  67.         return log;
  68.     }
  69.  
  70.     public static String where(int num) {
  71.         if (num == 0) {
  72.             return "09,15";
  73.         } else if (num == 1) {
  74.             return "10,14,16";
  75.         } else if (num == 2) {
  76.             return "07,11,15,17";
  77.         } else if (num == 3) {
  78.             return "08,12,16,18";
  79.         } else if (num == 4) {
  80.             return "13,09,17,19";
  81.         } else if (num == 5) {
  82.             return "10,18,20";
  83.         } else if (num == 6) {
  84.             return "11,19";
  85.         } else if (num == 7) {
  86.             return "02,16,22";
  87.         } else if (num == 8) {
  88.             return "03,17,21,23";
  89.         } else if (num == 9) {
  90.             return "00,04,14,18,22,24";
  91.         } else if (num == 10) {
  92.             return "01,05,15,19,23,25";
  93.         } else if (num == 11) {
  94.             return "02,06,16,20,24,26";
  95.         } else if (num == 12) {
  96.             return "03,17,25,27";
  97.         } else if (num == 13) {
  98.             return "04,18,26";
  99.         } else if (num == 14) {
  100.             return "01,09,23,29";
  101.         } else if (num == 15) {
  102.             return "00,02,10,24,28,30";
  103.         } else if (num == 16) {
  104.             return "01,03,07,11,21,25,29,31";
  105.         } else if (num == 17) {
  106.             return "02,04,08,12,22,26,30,32";
  107.         } else if (num == 18) {
  108.             return "03,05,09,13,23,27,31,33";
  109.         } else if (num == 19) {
  110.             return "04,06,10,24,32,34";
  111.         } else if (num == 20) {
  112.             return "05,11,25,33";
  113.         } else if (num == 21) {
  114.             return "08,16,30,36";
  115.         } else if (num == 22) {
  116.             return "07,09,17,31,35,37";
  117.         } else if (num == 23) {
  118.             return "08,10,14,18,28,32,36,38";
  119.         } else if (num == 24) {
  120.             return "09,11,15,19,29,33,37,39";
  121.         } else if (num == 25) {
  122.             return "10,12,16,20,30,34,38,40";
  123.         } else if (num == 26) {
  124.             return "11,13,17,31,41,49";
  125.         } else if (num == 27) {
  126.             return "12,18,32,40";
  127.         } else if (num == 28) {
  128.             return "15,23,37,43";
  129.         } else if (num == 29) {
  130.             return "14,16,24,38,42,44";
  131.         } else if (num == 30) {
  132.             return "15,17,21,25,35,39,43,45";
  133.         } else if (num == 31) {
  134.             return "16,18,22,26,36,40,44,46";
  135.         } else if (num == 32) {
  136.             return "17,19,23,27,37,41,45,47";
  137.         } else if (num == 33) {
  138.             return "18,20,24,38,46,48";
  139.         } else if (num == 34) {
  140.             return "19,25,39,47";
  141.         } else if (num == 35) {
  142.             return "22,30,44";
  143.         } else if (num == 36) {
  144.             return "21,23,31,45";
  145.         } else if (num == 37) {
  146.             return "22,24,28,32,42,46";
  147.         } else if (num == 38) {
  148.             return "23,25,29,33,43,47";
  149.         } else if (num == 39) {
  150.             return "24,26,30,34,44,48";
  151.         } else if (num == 40) {
  152.             return "25,27,31,45";
  153.         } else if (num == 41) {
  154.             return "26,32,46";
  155.         } else if (num == 42) {
  156.             return "29,37";
  157.         } else if (num == 43) {
  158.             return "28,30,38";
  159.         } else if (num == 44) {
  160.             return "29,31,35,39";
  161.         } else if (num == 45) {
  162.             return "30,32,36,40";
  163.         } else if (num == 46) {
  164.             return "31,33,37,41";
  165.         } else if (num == 47) {
  166.             return "32,34,38";
  167.         } else if (num == 48) {
  168.             return "33,39";
  169.         } else
  170.             return "";
  171.     }
  172.  
  173.     public static void tiles(String[] args) {
  174.         boolean jhg = true;
  175.         dd = new Scanner(System.in);
  176.         List<String> list = new ArrayList<String>();
  177.         for (int a = 0; a < 49; a++) {
  178.             list.add("  ");
  179.         }
  180.  
  181.         int rand = ThreadLocalRandom.current().nextInt(0, 49);
  182.         list.set(rand, "01");
  183.         int nuu = 0;
  184.         int numb;
  185.         numb = rand;
  186.         while (list.contains("  ")) {
  187.             nuu++;
  188.             if (nuu != 1) {
  189.                 if (nuu == 2) {
  190.                     list.set(numb, "02");
  191.                 } else if (nuu == 3) {
  192.                     list.set(numb, "03");
  193.                 } else if (nuu == 4) {
  194.                     list.set(numb, "04");
  195.                 } else if (nuu == 5) {
  196.                     list.set(numb, "05");
  197.                 } else if (nuu == 6) {
  198.                     list.set(numb, "06");
  199.                 } else if (nuu == 7) {
  200.                     list.set(numb, "07");
  201.                 } else if (nuu == 8) {
  202.                     list.set(numb, "08");
  203.                 } else if (nuu == 9) {
  204.                     list.set(numb, "09");
  205.                 } else {
  206.                     list.set(numb, Integer.toString(nuu));
  207.                 }
  208.             }
  209.             String[] list1 = new String[8];
  210.             list1 = where(numb).split(",");
  211.             ArrayList<Integer> log = new ArrayList<Integer>();
  212.             log = check(list1);
  213.  
  214.             prin2(list, log);
  215.             System.out.println("Numeri Utilizzabili: ");
  216.             System.out.println(usable(log, list).toString());
  217.             if (usable(log, list).toString() == "") {
  218.                 System.out.println("Hai Perso!");
  219.                 jhg = false;
  220.                 break;
  221.             }
  222.             while (true) {
  223.                 log = check(list1);
  224.                 System.out.print("Inserisci dove andare: ");
  225.                 numb = dd.nextInt() - 1;
  226.                 if (log.contains(numb) & list.get(numb) == "  ") {
  227.                     break;
  228.                 }
  229.             }
  230.  
  231.         }
  232.         if (jhg) {
  233.             System.out.println("Hai Vinto!");
  234.         }
  235.         dd.nextLine();
  236.         dd.nextLine();
  237.     }
  238.  
  239.     public static void main(String[] args) {
  240.         while (true) {
  241.             tiles(args);
  242.             for (int a = 0; a < 1000; a++) {
  243.                 System.out.println("");
  244.             }
  245.         }
  246.     }
  247. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement