예제 #1
0
        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;
        }
예제 #2
0
        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;
        }
예제 #3
0
 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() : "");
 }