Advertisement
Guest User

Untitled

a guest
Apr 10th, 2010
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.78 KB | None | 0 0
  1. /**
  2.  * Die Analyzer
  3.  * @version 1.0
  4.  * @author Cale McNulty
  5.  *
  6.  * This little program perferms some minor
  7.  * statistical analysis on die roles to see
  8.  * what's most preferable.
  9.  */
  10.  
  11. import java.util.*;
  12. import java.lang.Math;
  13.  
  14. public class DieAnalyzer
  15. {
  16.     public static void main (String[] args)
  17.     {
  18.         final int DICE_ROLLED = 5;
  19.         final int GAMES_PLAYED = 10000;
  20.         final int DIE_SIDES = 6;
  21.         final int MODIFIER = 6;
  22.        
  23.         double stdDevAvg = 0;
  24.         double dmgAvg = 0;
  25.        
  26.         for (int j = 0; j < GAMES_PLAYED; j++)
  27.         {
  28.            
  29.             int nums[] = new int[DICE_ROLLED];
  30.             int sum = 0;
  31.            
  32.             //Populate
  33.             for (int i = 0; i < DICE_ROLLED; i++)
  34.             {
  35.                 nums[i] = (int)((Math.random() * DIE_SIDES) + 1);
  36.                 sum += nums[i];
  37.                
  38.                 //Format output - useful for rolling many dice
  39.                 switch ((i + 1) % 10)
  40.                 {
  41.                     case 0: System.out.println(nums[i]);
  42.                         break;
  43.                     default: System.out.print(nums[i]);
  44.                 }
  45.                
  46.                
  47.             }
  48.             sum += MODIFIER;
  49.  
  50.             System.out.println("\n----------");
  51.        
  52.             double avg = (double)(sum / DICE_ROLLED);
  53.             double devSum = 0.0;
  54.            
  55.             //Compute standard deviation
  56.             for (int k = 0; k < DICE_ROLLED; k++)
  57.             {
  58.                 devSum += Math.pow((avg - nums[k]), 2);
  59.             }
  60.            
  61.             double stdDev = Math.sqrt((devSum/avg));
  62.             stdDevAvg += stdDev;
  63.            
  64.             System.out.println("Damage for game " + j + ": " + sum);
  65.             System.out.println("Average for game " + j + ": " + avg);
  66.             System.out.println("Standard Deviation for game "
  67.                 + j +": " + stdDev + "\n\n");
  68.             dmgAvg += sum;
  69.            
  70.         }
  71.         dmgAvg /= GAMES_PLAYED;
  72.         stdDevAvg /= GAMES_PLAYED;
  73.        
  74.         System.out.println(DICE_ROLLED + "d" + DIE_SIDES + "+" + MODIFIER);
  75.         System.out.println("Average damage dealt: " + dmgAvg);
  76.         System.out.println("Average standard deviation: " + stdDevAvg + "\n");
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement