Advertisement
Guest User

poker

a guest
Apr 26th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var Result = { "win": 1, "loss": 2, "tie": 3 }
  2. var ans=1
  3. var c=0;
  4. var r1=0, r2=0;
  5. var ss;
  6. function PokerHand(hand) {
  7.   c++
  8.   var qq='0123456789TJQKA'
  9.   var a1=hand.split(' ');
  10.   var s=[qq.indexOf(a1[0][0]),qq.indexOf(a1[1][0]),qq.indexOf(a1[2][0]),qq.indexOf(a1[3][0]),qq.indexOf(a1[4][0])]
  11.   s.sort((a,b)=>a-b);
  12.   if (c==1)
  13.   {
  14.     ss=s;
  15.     r1=1;
  16.     if ((s[0]==s[1]) || s[1]==s[2] || s[2]==s[3] || s[3]==s[4])
  17.       r1=2;
  18.     if ((s[0]==s[1] && s[2]==s[3]) || (s[0]==s[1] && s[3]==s[4]) || (s[1]==s[2] && s[3]==s[4]))
  19.       r1=3;
  20.     if ((s[0]==s[1] && s[1]==s[2]) || (s[1]==s[2] && s[2]==s[3]) || (s[2]==s[3] && s[3]==s[4]))
  21.       r1=4;
  22.     if (s[0]+1==s[1] && s[0]+2==s[2] && s[0]+3==s[3] && s[0]+4==s[4])
  23.       r1=5;
  24.     if ((s[0]==s[1] && s[2]==s[3] && s[3]==s[4]) || (s[0]==s[1] && s[1]==s[2] && s[3]==s[4]))
  25.       r1=7;
  26.     if (s[1]==s[2] && s[2]==s[3] && (s[1]==s[0] || s[3]==s[4]))
  27.       r1=8;
  28.     if (a1[0][1]==a1[1][1] && a1[0][1]==a1[2][1] && a1[0][1]==a1[3][1] && a1[0][1]==a1[4][1])
  29.     {
  30.       r1=6;
  31.       if (s[0]+1==s[1] && s[0]+2==s[2] && s[0]+3==s[3] && s[0]+4==s[4])
  32.         r1=9;
  33.       if (s[0]==10)
  34.         r1=10;
  35.     }
  36.   }
  37.   if (c==2)
  38.   {
  39.     r2=1;
  40.     if ((s[0]==s[1]) || s[1]==s[2] || s[2]==s[3] || s[3]==s[4])
  41.       r2=2;
  42.     if ((s[0]==s[1] && s[2]==s[3]) || (s[0]==s[1] && s[3]==s[4]) || (s[1]==s[2] && s[3]==s[4]))
  43.       r2=3;
  44.     if ((s[0]==s[1] && s[1]==s[2]) || (s[1]==s[2] && s[2]==s[3]) || (s[2]==s[3] && s[3]==s[4]))
  45.       r2=4;
  46.     if (s[0]+1==s[1] && s[0]+2==s[2] && s[0]+3==s[3] && s[0]+4==s[4])
  47.       r2=5;
  48.     if ((s[0]==s[1] && s[2]==s[3] && s[3]==s[4]) || (s[0]==s[1] && s[1]==s[2] && s[3]==s[4]))
  49.       r2=7;
  50.     if (s[1]==s[2] && s[2]==s[3] && (s[1]==s[0] || s[3]==s[4]))
  51.       r2=8;
  52.     if (a1[0][1]==a1[1][1] && a1[0][1]==a1[2][1] && a1[0][1]==a1[3][1] && a1[0][1]==a1[4][1])
  53.     {
  54.       r2=6;
  55.       if (s[0]+1==s[1] && s[0]+2==s[2] && s[0]+3==s[3] && s[0]+4==s[4])
  56.         r2=9;
  57.       if (s[0]==10)
  58.         r2=10;
  59.     }
  60.     console.log(r1+' '+r2)
  61.     if (r1>r2)
  62.       ans=1;
  63.     if (r1<r2)
  64.       ans=2;
  65.     if (r1==r2)
  66.     {
  67.       if (r1==10)
  68.         ans=3
  69.       if (r1==9)
  70.       {
  71.         if (ss[4]>s[4])
  72.           ans=1;
  73.         if (ss[4]<s[4])
  74.           ans=2;
  75.         if (ss[4]==s[4])
  76.           ans=3;
  77.       }
  78.       if (r1==8)
  79.       {
  80.         if (ss[2]>s[2])
  81.           ans=1;
  82.         if (ss[2]<s[2])
  83.           ans=2;
  84.         if (ss[2]==s[2])
  85.         {
  86.           var w1,w2
  87.           if (ss[0]==ss[1])
  88.             w1=ss[4];
  89.           else
  90.             w1=ss[0];
  91.           if (s[0]==s[1])
  92.             w2=s[4];
  93.           else
  94.             w2=s[0];
  95.           if (w1>w2) ans=1;
  96.           if (w1<w2) ans=2;
  97.           if (w1==w2)ans=3;
  98.        }
  99.       }
  100.       if (r1==7)
  101.       {
  102.         if (ss[2]>s[2])
  103.           ans=1;
  104.         if (ss[2]<s[2])
  105.           ans=2;
  106.         if (ss[2]==s[2])
  107.         {
  108.           var w1,w2;
  109.           if (ss[0]==ss[2])
  110.             w1=ss[3];
  111.           else
  112.             w1=ss[0];
  113.           if (s[0]==s[2])
  114.             w2=s[3];
  115.           else
  116.             w2=s[0];
  117.           if (w1>w2)
  118.             ans=1;
  119.           if (w1<w2)
  120.             ans=2;
  121.           if (w1==w2)
  122.             ans=3;
  123.         }
  124.       }
  125.       if (r1==6)
  126.       {
  127.         if (ss[4]>s[4])
  128.           ans=1;
  129.         if (ss[4]<s[4])
  130.           ans=2;
  131.         if (ss[4]==s[4])
  132.         {
  133.           if (ss[3]>s[3])
  134.             ans=1;
  135.           if (ss[3]<s[3])
  136.             ans=2;
  137.           if (ss[3]==s[3])
  138.           {
  139.             if (ss[2]>s[2])
  140.               ans=1;
  141.             if (ss[2]<s[2])
  142.               ans=2;
  143.             if (ss[2]==s[2])
  144.             {
  145.               if (ss[1]>s[1])
  146.                 ans=1;
  147.               if (ss[1]<s[1])
  148.                 ans=2;
  149.               if (ss[1]==s[1])
  150.               {
  151.                 if (ss[0]>s[0])
  152.                   ans=1;
  153.                 if (ss[0]<s[0])
  154.                   ans=2;
  155.                 if (ss[0]==s[0])
  156.                   ans=3;
  157.               }
  158.             }
  159.           }
  160.         }
  161.       }
  162.       if (r1==5)
  163.       {
  164.         if (ss[4]>s[4])
  165.           ans=1;
  166.         if (ss[4]<s[4])
  167.           ans=2;
  168.         if (ss[4]==s[4])
  169.           ans=3;
  170.       }
  171.       if (r1==4)
  172.       {
  173.         if (ss[2]>s[2])
  174.           ans=1;
  175.         if (ss[2]<s[2])
  176.           ans=2;
  177.         if (ss[2]==s[2])
  178.         {
  179.           var w1,w2;
  180.           if (ss[0]==ss[1] && ss[1]==ss[2])
  181.             w1=[ss[3],ss[4]]
  182.           if (ss[1]==ss[2] && ss[2]==ss[3])
  183.             w1=[ss[0],ss[4]]
  184.           if (ss[2]==ss[3] && ss[3]==ss[4])
  185.             w1=[ss[0],ss[1]]
  186.           if (s[0]==s[1] && s[1]==s[2])
  187.             w2=[s[3],s[4]]
  188.           if (s[1]==s[2] && s[2]==s[3])
  189.             w2=[ss[0],s[4]]
  190.           if (s[2]==s[3] && s[3]==s[4])
  191.             w2=[s[0],s[1]]
  192.           if (w1[1]>w2[1])
  193.             ans=1;
  194.           if (w1[1]<w2[1])
  195.             ans=2;
  196.           if (w1[1]==w2[1])
  197.           {
  198.             if (w1[0]>w2[0])
  199.               ans=1;
  200.             if (w1[0]<w2[0])
  201.               ans=2;
  202.             if (w1[0]==w2[0])
  203.               ans=3;
  204.           }
  205.         }
  206.       }
  207.       if (r1==3)
  208.       {
  209.         if (ss[4]>s[4])
  210.           ans=1;
  211.         if (ss[4]<s[4])
  212.           ans=2;
  213.         if (ss[4]==s[4])
  214.           ans=3;
  215.       }
  216.       if (r1==2)
  217.       {
  218.         var w1,w2;
  219.         if (ss[0]==ss[1])
  220.           w1=ss[0];
  221.         if (ss[1]==ss[2])
  222.           w1=ss[1];
  223.         if (ss[2]==ss[3])
  224.           w1=ss[2];
  225.         if (ss[3]==ss[4])
  226.           w1=ss[3];
  227.         if (s[0]==s[1])
  228.           w2=s[0];
  229.         if (s[1]==s[2])
  230.           w2=s[1];
  231.         if (s[2]==s[3])
  232.           w2=s[2];
  233.         if (s[3]==s[4])
  234.           w2=s[3];      
  235.         if (w1>w2)
  236.           ans=1;
  237.         if (w1<w2)
  238.           ans=2;
  239.         if (w1==w2)
  240.         {
  241.           if (ss[4]>s[4]) ans=1;
  242.           else if (ss[4]<s[4]) ans=2;
  243.           else
  244.           {
  245.             if (ss[3]>s[3]) ans=1;
  246.             else if (ss[3]<s[3]) ans=2;
  247.             else
  248.             {
  249.               if (ss[2]>s[2]) ans=1;
  250.               else if (ss[2]<s[2]) ans=2;
  251.               else
  252.               {
  253.                 if (ss[1]>s[1]) ans=1;
  254.                 else if (ss[1]<s[1]) ans=2;
  255.                 else
  256.                 {
  257.                   if (ss[0]>s[0]) ans=1;
  258.                   else if (ss[0]<s[0]) ans=2;
  259.                   else ans=3;            
  260.                 }
  261.               }  
  262.             }
  263.           }
  264.         }
  265.       }
  266.       if (r1==1)
  267.       {
  268.         if (ss[4]>s[4]) ans=1;
  269.         else if (ss[4]<s[4]) ans=2;
  270.         else
  271.         {
  272.           if (ss[3]>s[3]) ans=1;
  273.           else if (ss[3]<s[3]) ans=2;
  274.           else
  275.           {
  276.             if (ss[2]>s[2]) ans=1;
  277.             else if (ss[2]<s[2]) ans=2;
  278.             else
  279.             {
  280.               if (ss[1]>s[1]) ans=1;
  281.               else if (ss[1]<s[1]) ans=2;
  282.               else
  283.               {
  284.                 if (ss[0]>s[0]) ans=1;
  285.                 else if (ss[0]<s[0]) ans=2;
  286.                 else ans=3;            
  287.               }
  288.             }  
  289.           }
  290.         }
  291.       }
  292.     }
  293.     c=0;
  294.     r1=0;
  295.     r2=0
  296.   }
  297. }
  298.  
  299. PokerHand.prototype.compareWith = function(hand){
  300.      return ans;
  301. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement