private static void InitializeDice(string diceInput, Dice DiceData) { if (InputValidation(diceInput)) { char[] diceArray = diceInput.ToCharArray(); for (int i = 0; i < diceArray.Length; i++) { if (diceArray[i] == 'd') { int diceLimiter = i; string diceResult = ""; for (int j = 0; j < diceLimiter; j++) { diceResult = diceResult + diceArray[j]; } DiceData.Multiplier = Int32.Parse(diceResult); diceResult = ""; for (int k = (diceLimiter + 1); (k > diceLimiter) & (k < diceArray.Length); k++) { diceResult = diceResult + diceArray[k]; } DiceData.Type = Int32.Parse(diceResult); } } } }
public static void Roll(StreamWriter lineWrite, Server serverInfo, string diceInput) { Dice DiceData = new Dice(); InitializeDice(diceInput, DiceData); OutputRoll(lineWrite, serverInfo, CalcRoll(DiceData)); }
private static int CalcRoll(Dice DiceData) { int diceResult = 0; Random randNum = new Random(); for (int i =0; i < DiceData.Multiplier; i++) { diceResult = diceResult + randNum.Next(1, DiceData.Type + 1); } return diceResult; }