public DiceCommand ParseCommandFromMessage(string message, string sender) { var formattedCommand = FormatMessageToCommand(message); var diceCommand = new DiceCommand(); diceCommand.Roller = sender; diceCommand.Dice = ParseDiceCount(formattedCommand); diceCommand.Sides = ParseDiceSides(formattedCommand); if(HasBonusInCommand(formattedCommand)) { diceCommand.Bonus = ParseBonus(formattedCommand); } return diceCommand; }
public DiceResults GenerateRollResults(DiceCommand command) { var diceResults = new DiceResults() { Roller = command.Roller, Bonus = command.Bonus, OriginalRoll = GenerateRollString(command) }; for(var i=0;i<command.Dice;i++) { var outputRoll = randomizer.Next(1, command.Sides); diceResults.Rolls.Add(outputRoll); } return diceResults; }
public string GenerateRollString(DiceCommand command) { return string.Format("{0}d{1}{2}{3}", command.Dice, command.Sides, (command.Bonus > 0) ? "+" : "", (command.Bonus != 0) ? command.Bonus.ToString() : ""); }