Advertisement
Guest User

PokerDraw

a guest
Apr 24th, 2013
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     //drawPayouts is where the results are stored.  drawArray is where all condenced hands, plus their weight are stored.
  2.     void LoopCondencedHands() {
  3.         for (int i = 0; i < drawPayouts.Length; i++)
  4.         {
  5.             //Five cards
  6.             drawPayouts[i][array0[HandIndex5(drawArray[i])]]++;
  7.  
  8.             //Four Cards
  9.             //Use array1[0] because all lengths are the same.
  10.             for (int j = 0; j < array1[0].Length; j++)
  11.             {
  12.                 //Check all five ways of playing four cards.
  13.                 //Use "* drawArray[i][5]" to count the weight.
  14.                 drawPayouts[i][j] += array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  15.                 drawPayouts[i][j] += array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][4])] * drawArray[i][5];
  16.                 drawPayouts[i][j] += array1[j][HandIndex4(drawArray[i][4], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  17.                 drawPayouts[i][j] += array1[j][HandIndex4(drawArray[i][0], drawArray[i][4], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  18.                 drawPayouts[i][j] += array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][4], drawArray[i][3])] * drawArray[i][5];
  19.                 //If this is the value of holding all five cards, subtract one.
  20.                 if (array0[HandIndex5(drawArray[i])] == j)
  21.                     { drawPayouts[i][j]--; }
  22.             }
  23.  
  24.             for (int j = 0; j < array2[0].Length; j++)
  25.             {
  26.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][0], drawArray[i][1], drawArray[i][2])] * drawArray[i][5];
  27.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  28.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][4])] * drawArray[i][5];
  29.  
  30.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][0], drawArray[i][1], drawArray[i][3])] * drawArray[i][5];
  31.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  32.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][4], drawArray[i][3])] * drawArray[i][5];
  33.  
  34.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][0], drawArray[i][1], drawArray[i][4])] * drawArray[i][5];
  35.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][4])] * drawArray[i][5];
  36.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][4], drawArray[i][3])] * drawArray[i][5];
  37.  
  38.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][3], drawArray[i][1], drawArray[i][2])] * drawArray[i][5];
  39.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  40.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][4], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  41.                
  42.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][4], drawArray[i][1], drawArray[i][2])] * drawArray[i][5];
  43.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][4])] * drawArray[i][5];
  44.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][4], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  45.                
  46.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][0], drawArray[i][3], drawArray[i][2])] * drawArray[i][5];
  47.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  48.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][4], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  49.                
  50.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][0], drawArray[i][4], drawArray[i][2])] * drawArray[i][5];
  51.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][2], drawArray[i][4])] * drawArray[i][5];
  52.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][4], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  53.                
  54.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][0], drawArray[i][3], drawArray[i][4])] * drawArray[i][5];
  55.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][4], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  56.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][4], drawArray[i][3])] * drawArray[i][5];
  57.                
  58.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][3], drawArray[i][1], drawArray[i][4])] * drawArray[i][5];
  59.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][4], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  60.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][1], drawArray[i][4], drawArray[i][3])] * drawArray[i][5];
  61.                
  62.                 drawPayouts[i][j] += array2[j][HandIndex3(drawArray[i][2], drawArray[i][3], drawArray[i][4])] * drawArray[i][5];
  63.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][4], drawArray[i][1], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  64.                 drawPayouts[i][j] -= array1[j][HandIndex4(drawArray[i][0], drawArray[i][4], drawArray[i][2], drawArray[i][3])] * drawArray[i][5];
  65.                
  66.                 if (array0[HandIndex5(drawArray[i])] == j)
  67.                     { drawPayouts[i][j]++; }
  68.             }
  69.         }
  70.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement