#!/usr/bin/env php ]d[+MOD]\n"; } 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; $total = 0; for ($i=0; $i < $dice; $i++) { $v = mt_rand(1, $die_size); echo $v.'+'; $total += $v; } $total += $mod; echo $mod.' = '.$total."\n"; } if (sizeof($argv) == 1) { usage(); } array_shift($argv); foreach ($argv as $arg) { roll($arg); }