Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.91 KB | None | 0 0
  1. public class Tarok
  2. {
  3.     public static void main(String[] args)
  4.     {
  5.         System.out.print("Maksimalno stevilo partij: ");
  6.         int n = BranjePodatkov.preberiInt();
  7.         while(n<=0)
  8.         {
  9.             System.out.print("Stevilo partij mora biti pozitivno celo stevilo. Ponovi vnos: ");
  10.             n = BranjePodatkov.preberiInt();
  11.         }
  12.        
  13.         System.out.print("Zgornja meja stevila tock: ");
  14.         int maxTocke = BranjePodatkov.preberiInt();
  15.         while(maxTocke<=0)
  16.         {
  17.             System.out.print("Stevilo tock mora biti pozitivno celo stevilo. Ponovi vnos: ");
  18.             maxTocke = BranjePodatkov.preberiInt();
  19.         }
  20.        
  21.         System.out.print("Verjetnost zmage v posamezni partiji: ");
  22.         double verjetnostZmage = BranjePodatkov.preberiDouble();
  23.         while((verjetnostZmage<0.0) || (verjetnostZmage>1.0))
  24.         {
  25.             System.out.print("Verjetnost zmage mora biti med 0.0 in 1.0. Ponovi vnos: ");
  26.             verjetnostZmage = BranjePodatkov.preberiDouble();
  27.         }
  28.        
  29.         char[] akterji = new char[2];
  30.         int[] tockeIgralca = new int[4];
  31.        
  32.         for(int i=0;i<4;i++) tockeIgralca[i] = 0; //A=0,B=1,C=2,D=3
  33.        
  34.         boolean tockePresezene = false; //Za tocke v zanki, da program ve, da ne izpise nic izven zanke ce je prislo do presezka tock pred koncem partij
  35.        
  36.         for(int stPartij = 1; stPartij <= n; stPartij++)
  37.         {
  38.            
  39.             System.out.print("["+stPartij+"]");
  40.             int igra = nakljucnaIgra(); //Prvo dolocimo igro
  41.            
  42.             if((igra==1)||(igra==2)||(igra==3)) //Nato dolocimo akterje glede na nakljucno izbrano igro
  43.             {
  44.                 akterji[0] = nakljucniAkter(akterji[0]);
  45.                 akterji[1] = nakljucniAkter(akterji[1]);
  46.                 while(akterji[1] == akterji[0]) akterji[1] = nakljucniAkter(akterji[1]); //Za vsak slucaj, ce sta akterja enaka
  47.                 System.out.print(akterji[0]+""+akterji[1]+", ");
  48.             }
  49.             else
  50.             {
  51.                 akterji[0] = nakljucniAkter(akterji[0]);
  52.                 System.out.print(akterji[0]+", ");
  53.             }
  54.            
  55.             boolean rezultat = nakljucenRezultat(verjetnostZmage); //Nakljucno dolocimo, ali je bila igra dobljena ali izgubljena
  56.            
  57.             int razlika = nakljucnaRazlika(); //Nakljucno dolocimo razliko
  58.             int vrednostIgre = dolociVrednostIgre(igra);
  59.            
  60.             if(rezultat==true)
  61.             {
  62.                 if((igra==1)||(igra==2)||(igra==3))
  63.                 {
  64.                     switch(akterji[0])
  65.                     {
  66.                         case 'A':
  67.                           tockeIgralca[0] += razlika+vrednostIgre;
  68.                           break;
  69.                         case 'B':
  70.                           tockeIgralca[1] += razlika+vrednostIgre;
  71.                           break;
  72.                         case 'C':
  73.                           tockeIgralca[2] += razlika+vrednostIgre;
  74.                           break;
  75.                         case 'D':
  76.                           tockeIgralca[3] += razlika+vrednostIgre;
  77.                           break;
  78.                     }
  79.                     switch(akterji[1])
  80.                     {
  81.                         case 'A':
  82.                           tockeIgralca[0] += razlika+vrednostIgre;
  83.                           break;
  84.                         case 'B':
  85.                           tockeIgralca[1] += razlika+vrednostIgre;
  86.                           break;
  87.                         case 'C':
  88.                           tockeIgralca[2] += razlika+vrednostIgre;
  89.                           break;
  90.                         case 'D':
  91.                           tockeIgralca[3] += razlika+vrednostIgre;
  92.                           break;
  93.                     }
  94.                 }
  95.                 else
  96.                 {
  97.                     switch(akterji[0])
  98.                     {
  99.                         case 'A':
  100.                           tockeIgralca[0] += razlika+vrednostIgre;
  101.                           break;
  102.                         case 'B':
  103.                           tockeIgralca[1] += razlika+vrednostIgre;
  104.                           break;
  105.                         case 'C':
  106.                           tockeIgralca[2] += razlika+vrednostIgre;
  107.                           break;
  108.                         case 'D':
  109.                           tockeIgralca[3] += razlika+vrednostIgre;
  110.                           break;
  111.                     }
  112.                 }
  113.             }
  114.             else
  115.             {
  116.                 if((igra==1)||(igra==2)||(igra==3))
  117.                 {
  118.                     switch(akterji[0])
  119.                     {
  120.                         case 'A':
  121.                           tockeIgralca[0] -= razlika+vrednostIgre;
  122.                           break;
  123.                         case 'B':
  124.                           tockeIgralca[1] -= razlika+vrednostIgre;
  125.                           break;
  126.                         case 'C':
  127.                           tockeIgralca[2] -= razlika+vrednostIgre;
  128.                           break;
  129.                         case 'D':
  130.                           tockeIgralca[3] -= razlika+vrednostIgre;
  131.                           break;
  132.                     }
  133.                     switch(akterji[1])
  134.                     {
  135.                         case 'A':
  136.                           tockeIgralca[0] -= razlika+vrednostIgre;
  137.                           break;
  138.                         case 'B':
  139.                           tockeIgralca[1] -= razlika+vrednostIgre;
  140.                           break;
  141.                         case 'C':
  142.                           tockeIgralca[2] -= razlika+vrednostIgre;
  143.                           break;
  144.                         case 'D':
  145.                           tockeIgralca[3] -= razlika+vrednostIgre;
  146.                           break;
  147.                     }
  148.                 }
  149.                 else
  150.                 {
  151.                     switch(akterji[0])
  152.                     {
  153.                         case 'A':
  154.                           tockeIgralca[0] -= razlika+vrednostIgre;
  155.                           break;
  156.                         case 'B':
  157.                           tockeIgralca[1] -= razlika+vrednostIgre;
  158.                           break;
  159.                         case 'C':
  160.                           tockeIgralca[2] -= razlika+vrednostIgre;
  161.                           break;
  162.                         case 'D':
  163.                           tockeIgralca[3] -= razlika+vrednostIgre;
  164.                           break;
  165.                     }
  166.                 }
  167.             }
  168.            
  169.             System.out.println("        Rez: "+tockeIgralca[0]+" "+tockeIgralca[1]+" "+tockeIgralca[2]+" "+tockeIgralca[3]+" ");
  170.             System.out.println();
  171.            
  172.             if((tockeIgralca[0]>=maxTocke) || (tockeIgralca[1]>=maxTocke) || (tockeIgralca[2]>=maxTocke) || (tockeIgralca[3]>=maxTocke)) break;
  173.         }
  174.         int tockeZmagovalca = 0;
  175.        
  176.         for(int i=0;i<4;i++)
  177.         {
  178.             if((tockeZmagovalca<=tockeIgralca[i]) && (tockeIgralca[i]>=0)) tockeZmagovalca = tockeIgralca[i]; //IMPORTANT NOTE: Za zdaj dela samo za pozitivna stevila!
  179.         }
  180.        
  181.         char zmagovalec = '/';
  182.        
  183.         if(tockeZmagovalca==tockeIgralca[0]) zmagovalec = 'A';
  184.         else if(tockeZmagovalca==tockeIgralca[1]) zmagovalec = 'B';
  185.         else if(tockeZmagovalca==tockeIgralca[2]) zmagovalec = 'C';
  186.         else if(tockeZmagovalca==tockeIgralca[3]) zmagovalec = 'D';
  187.        
  188.         System.out.println("Zmagal je igralec "+zmagovalec+", ki je zbral "+tockeZmagovalca+" tock.");
  189.        
  190.     }
  191.     private static int nakljucnaIgra()
  192.     {
  193.         int r = (int)(Math.random()*6)+1;
  194.         switch(r)
  195.         {
  196.             case 1:
  197.               System.out.print(" Ena, ");
  198.               break;
  199.             case 2:
  200.               System.out.print(" Dve, ");
  201.               break;
  202.             case 3:
  203.               System.out.print(" Tri, ");
  204.               break;
  205.             case 4:
  206.               System.out.print(" Solo Ena, ");
  207.               break;
  208.             case 5:
  209.               System.out.print(" Solo Dve, ");
  210.               break;
  211.             case 6:
  212.               System.out.print(" Solo Tri, ");
  213.               break;
  214.         }
  215.         return r;
  216.     }
  217.    
  218.     private static char nakljucniAkter(char akter)
  219.     {
  220.         int r = (int)(Math.random()*4)+1;
  221.         switch(r)
  222.         {
  223.             case 1:
  224.               akter = 'A';
  225.               break;
  226.             case 2:
  227.               akter = 'B';
  228.               break;
  229.             case 3:
  230.               akter = 'C';
  231.               break;
  232.             case 4:
  233.               akter = 'D';
  234.               break;
  235.         }
  236.         return akter;
  237.     }
  238.    
  239.     private static boolean nakljucenRezultat(double verjetnost)
  240.     {
  241.         double r = Math.random();
  242.         if(r<=verjetnost)
  243.         {
  244.             System.out.print("+");
  245.             return true;
  246.         }
  247.         else
  248.         {
  249.             System.out.print("-");
  250.             return false;
  251.         }
  252.     }
  253.    
  254.     private static int nakljucnaRazlika()
  255.     {
  256.         int r = (int)(Math.random()*8);
  257.         int razlika = r*5;
  258.         System.out.println(razlika);
  259.         return razlika;
  260.        
  261.     }
  262.    
  263.     private static int dolociVrednostIgre(int tipIgre)
  264.     {
  265.         int vrednost=0;
  266.        
  267.         switch(tipIgre)
  268.         {
  269.             case 1:
  270.               vrednost = 30;
  271.               break;
  272.             case 2:
  273.               vrednost = 20;
  274.               break;
  275.             case 3:
  276.               vrednost = 10;
  277.               break;
  278.             case 4:
  279.               vrednost = 60;
  280.               break;
  281.             case 5:
  282.               vrednost = 50;
  283.               break;
  284.             case 6:
  285.               vrednost = 40;
  286.               break;
  287.         }
  288.         return vrednost;
  289.     }
  290.    
  291. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement