(def roll () (let die (+ 1 (trunc (* (rand) 100))) (if (> die 90) (+ die (roll)) (< die 10) (- die (roll)) die))) (def dice (num) (cons (roll) (if (< num 2) () (dice -.num.1)))) (def dicepage () (aform [(let rolls (dice (coerce (arg _ "num") 'int)) (tag p (pr "total: " reduce.+.rolls)) (tag p (each d rolls (pr d ", ")))) (dicepage)] (input "num") (submit))) (defop diceroll req (dicepage))