Advertisement
Guest User

Untitled

a guest
Dec 23rd, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Haxe 2.58 KB | None | 0 0
  1.     public static function split(v:Int, ?subdivide:Int = 2, ?splitones:Bool = true):Array<Int>{
  2.         if (subdivide == 6){
  3.             if (v == 6){
  4.                 return [1, 1, 1, 1, 1, 1];
  5.             }
  6.            
  7.             if(splitones){
  8.                 return [1, 1, 1, 1, 1, 1];
  9.             }else{
  10.                 if (v == 5) return [1, 1, 1, 1, 1];
  11.                 if (v == 4) return [1, 1, 1, 1];
  12.                 if (v == 3) return [1, 1, 1];
  13.                 if (v == 2) return [1, 1];
  14.                 if (v == 1) return [1];
  15.             }
  16.         }else if (subdivide == 5){
  17.             if (v == 6){
  18.                 return Random.pick([
  19.                   [1, 1, 1, 1, 2],
  20.                     [1, 1, 1, 2, 1],
  21.                     [1, 1, 2, 1, 1],
  22.                     [1, 2, 1, 1, 1],
  23.                     [2, 1, 1, 1, 1]
  24.                 ]);
  25.             }else if (v == 5){
  26.                 return [1, 1, 1, 1, 1];
  27.             }
  28.            
  29.             if(splitones){
  30.                 return [1, 1, 1, 1, 1];
  31.             }else{
  32.                 if (v == 4) return [1, 1, 1, 1];
  33.                 if (v == 3) return [1, 1, 1];
  34.                 if (v == 2) return [1, 1];
  35.                 if (v == 1) return [1];
  36.             }
  37.         }else if (subdivide == 4){
  38.             if (v == 6){
  39.                 return Random.pick([
  40.                   [1, 1, 1, 3], [1, 1, 2, 2], [1, 1, 3, 1], [1, 2, 1, 2], [1, 2, 2, 1],
  41.                     [2, 1, 1, 2], [2, 1, 2, 1], [2, 2, 1, 1],
  42.                     [3, 1, 1, 1]
  43.                 ]);
  44.             }else if (v == 5){
  45.                 return Random.pick([
  46.                   [2, 1, 1, 1], [1, 2, 1, 1], [1, 1, 2, 1], [1, 1, 1, 2]
  47.                 ]);
  48.             }else if (v == 4){
  49.                 return [1, 1, 1, 1];
  50.             }
  51.            
  52.             if(splitones){
  53.                 return [1, 1, 1, 1];
  54.             }else{
  55.                 if (v == 3) return [1, 1, 1];
  56.                 if (v == 2) return [1, 1];
  57.                 if (v == 1) return [1];
  58.             }
  59.         }else if (subdivide == 3){
  60.             if (v == 6){
  61.                 return Random.pick([
  62.                 [1, 1, 4], [1, 2, 3], [1, 3, 2], [1, 4, 1], [2, 1, 3], [2, 2, 2], [2, 3, 1], [3, 1, 2], [3, 2, 1], [4, 1, 1]
  63.                 ]);
  64.             }else if (v == 5){
  65.                 return Random.pick([
  66.                 [1, 1, 3], [1, 2, 2], [1, 3, 1], [2, 1, 2], [2, 2, 1], [3, 1, 1]
  67.                 ]);
  68.             }else if (v == 4){
  69.                 return Random.pick([
  70.                 [1, 1, 2], [1, 2, 1], [2, 1, 1]
  71.                 ]);
  72.             }else if (v == 3){
  73.                 return [1, 1, 1];
  74.             }
  75.            
  76.             if(splitones){
  77.                 return [1, 1, 1];
  78.             }else{
  79.                 if (v == 2) return [1, 1];
  80.                 if (v == 1) return [1];
  81.             }
  82.         }else if (subdivide == 2){
  83.             if (v == 6){
  84.                 return Random.pick([
  85.                 [1, 5], [2, 4], [3, 3], [4, 2], [5, 1]
  86.                 ]);
  87.             }else if (v == 5){
  88.                 return Random.pick([
  89.                 [1, 4], [2, 3], [3, 2], [4, 1]
  90.                 ]);
  91.             }else if (v == 4){
  92.                 return Random.pick([
  93.                 [1, 3], [2, 2], [3, 1]
  94.                 ]);
  95.             }else if (v == 3){
  96.                 return Random.pick([
  97.                 [2, 1], [1, 2]
  98.                 ]);
  99.             }else if (v == 2){
  100.                 return [1, 1];
  101.             }
  102.            
  103.             if (splitones){
  104.                 return [1, 1];
  105.             }
  106.            
  107.             return [1];
  108.         }else if (subdivide == 1){
  109.             return [v];
  110.         }
  111.        
  112.         return [v];
  113.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement