2016-09-17 3 views
0

私はタイプに基づいて星をランダムに生成するシステムを作っています。最初の部分はもちろん、希少性に基づいてどのような星の種類をシステムに伝えています。私は、乱数ジェネレータに基づいて実際の割り当て部分を短くすることが困難です。ここに私の現在の解決策があります。これらの小切手はどのように短縮できますか?

void StarTypeGen() { 

    randomGen (x: 0, y: 229000); 

    if (Rng <= 228000) { 
     StarType++; 
     if (Rng <= 36000) { 
      StarType++; 
      if (Rng <= 22500) { 
       StarType++; 
       if (Rng <= 9000) { 
        StarType++; 
        if (Rng <= 3750) { 
         StarType++; 
         if (Rng <= 1875) { 
          StarType++; 
          if (Rng <= 10) { 
           StarType++; 
          } 
         } 
        } 
       } 
      } 
     } 
    } 
} 

答えて

2

予圧最初の偽条件で破断までの値及びループの配列:

int[] nums = new int[] { 228000, 36000, 22500, 9000, 3750, 1875, 10 }; 
for (int i = 0; i < nums.Length; i++) 
{ 
    if (Rng > nums[i]) break; 
    StarType++; 
} 
関連する問題