From 1ca059968cf09d513f28f77b27fe792d6b510a00 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 7 Sep 2013 14:08:05 -0400 Subject: clean up roll.php; add usage text --- roll.php | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/roll.php b/roll.php index d888f64..c52f762 100644 --- a/roll.php +++ b/roll.php @@ -1,21 +1,35 @@ #!/usr/bin/env php ]d[+MOD]\n"; +} -preg_match('/([0-9]*)d([0-9]+)(([+-][0-9]+))?/', $string, $matches); -$dice = (int)$matches[1]; -$die_size = (int)$matches[2]; -@$mod = (int)$matches[3]; +function roll($input) { + preg_match('/([0-9]*)d([0-9]+)([+-][0-9]+)?/', $input, $matches); + if (sizeof($matches) < 2) { + usage(); + return; + } + $dice = (int)$matches[1]; + $die_size = (int)$matches[2]; + @$mod = (int)$matches[3]; + if ($dice<1) $dice = 1; -if ($dice<1) $dice = 1; + $total = 0; + for ($i=0; $i < $dice; $i++) { + $v = mt_rand(1, $die_size); + echo $v.'+'; + $total += $v; + } + $total += $mod; + echo $mod.' = '.$total."\n"; +} -$total = 0; -for ($i=0; $i < $dice; $i++) { - $v = mt_rand(1, $die_size); - echo $v.'+'; - $total += $v; +if (sizeof($argv) == 1) { + usage(); +} +array_shift($argv); +foreach ($argv as $arg) { + roll($arg); } -echo $mod; -$total += $mod; -echo ' = '.$total."\n"; -- cgit v1.2.3