diff options
Diffstat (limited to 'DSALib/Auxiliary/Dice.cs')
-rw-r--r-- | DSALib/Auxiliary/Dice.cs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/DSALib/Auxiliary/Dice.cs b/DSALib/Auxiliary/Dice.cs index b07d47f..0bfabeb 100644 --- a/DSALib/Auxiliary/Dice.cs +++ b/DSALib/Auxiliary/Dice.cs @@ -15,18 +15,20 @@ namespace DSALib.Auxiliary public static int Roll(string input) { var strings = input.ToLower().Split(new[] {'w', 'd'}, 2, StringSplitOptions.RemoveEmptyEntries).ToList(); - var count = Convert.ToInt32(strings[0]); - var d = Convert.ToInt32(strings[0]); + if (strings.Count != 2) - throw new ArgumentException($"{input}: erfüllt nicht die Formatvogaben( Anzahl d Augenzahl)"); + throw new ArgumentException($"{input}: does not satisfy the format requirements( dice count (d|w) die size)"); + + var count = Convert.ToInt32(strings[0]); + var d = Convert.ToInt32(strings[0]); return Roll(count, d); } public static int Roll(int count, int d) { - if (d <= 0) return 0; + if (d <= 0 || count <= 0) return 0; var sum = 0; for (var i = 0; i < Math.Abs(count); i++) |