PasteRack.org
Paste # 84735
2014-07-29 17:25:14

Fork as a new paste.

Paste viewed 45 times.


Embed:

Some simple dice functions

  1. #lang racket
  2.  
  3. (define (d n s)
  4.   (for/sum ([i n])
  5.     (+ (random s) 1)))
  6.  
  7. (define (d-list n s)
  8.   (for/list ([i n])
  9.     (+ (random s) 1)))
  10.  
  11. (define (d-list+sum n s)
  12.   (define l (d-list n s))
  13.   (define sum (for/sum ([i l])
  14.     i))
  15.   `(,l ,sum))
  16.  
  17. (define (d-success n s test target)
  18.   (length (filter (lambda (x) (test x target)) (d-list n s))))
  19.  
  20. (define (d-list+success n s test target)
  21.   (define l (d-list n s))
  22.   `(,l ,(length (filter (lambda (x) (test x target)) l))))

=>