romanilyinfb

Road calc

Jul 8th, 2021 (edited)
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.84 KB | None | 0 0
  1. private int RandomD6(int diceCount)
  2.     {
  3.         int val = 0;
  4.         for (int i = 0; i < diceCount; i++)
  5.         {
  6.             val += UnityEngine.Random.Range(1, 7);
  7.         }
  8.         return val;
  9.     }
  10.     private bool isCurrentStepRewarded(long step)
  11.     {
  12.         if (step % 2 == 0)
  13.             return true;
  14.         else
  15.             return false;
  16.     }
  17.     private void CalcRoad()
  18.     {
  19.         long maxDice = 10000000; // сколько бросков делаем
  20.         long rewardsCount = 0;// сколько наград получили
  21.         long stepsCount = 0;//сколько шагов прошли
  22.         for (int i = 0; i < maxDice; i++)
  23.         {
  24.             stepsCount += RandomD6(2);
  25.             if (isCurrentStepRewarded(stepsCount))
  26.             {
  27.                 rewardsCount++;
  28.             }
  29.         }
  30.         double rounds = Mathf.Round((stepsCount / 24f) * 10f) / 10f;
  31.         Debug.Log("Rounds="+ rounds + " Rewards="+rewardsCount+" rewards per round = "+ rewardsCount/rounds) ;
  32.     }
Add Comment
Please, Sign In to add comment