diff options
Diffstat (limited to 'loot.lsp')
-rw-r--r-- | loot.lsp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/loot.lsp b/loot.lsp index 74378fc..91f8eac 100644 --- a/loot.lsp +++ b/loot.lsp @@ -1,3 +1,4 @@ +;; #lang core-lisp ;;; Port of https://en.wikipedia.org/wiki/ModernPascal#Code_Sample[3]. ;;; And then to CL and ISLisp. ;;; I prefer my version. @@ -14,7 +15,7 @@ (let ((random-value (random (- +max-probability+ 1)))) (for ((loop 0 (+ loop 1))) ((>= (elt (probabilities self) (mod loop 13)) random-value) (elt +loot-type+ (mod loop 13)))))) -(defmethod initialize-object :after ((self <looter>) initargs) +(defmethod initialize-object :after ((self <looter>) &rest initargs) (setf (probabilities self) (vector 10 77 105 125 142 159 172 200 201 202 216 282 +max-probability+))) (defun as-string (l) ;; Could use assoc here, but this is closer to the original. @@ -39,3 +40,4 @@ ((> n 99)) (format (standard-output) "~A~%" (as-string (choose loot)))))) ;; (main) +;; (:export #'main) |