;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/emacs-init/dice.el (require 'cl-lib) (defun dice (&optional sides num) (or sides (setq sides 6)) (or num (setq num 1)) (cl-loop repeat num with sum = 0 do (cl-incf sum (1+ (random sides))) finally return sum) ) ;; (dice) ; 1D6, 1-6 ;; (dice 3) ; 1D3, 1-3 ;; (dice 3 2) ; 2D3, 2-6 (provide 'dice)