;;;Random number generation function - based on the linear
;;; congruential method as presented in Doug Cooper's book
;;; Condensed Pascal, pp. 116-117.
(defun rnd (/ modulus multiplier increment random)
(if (not seed)
(setq seed (getvar "DATE"))
)
(setq modulus 65536
multiplier 25173
increment 13849
seed (rem (+ (* multiplier seed) increment) modulus)
random (/ seed modulus)
)
)
(defun c:loto(/ qn cont pt disth)
(setvar "luprec" 0)
(setq qn 49);;Number Range
(setq cont (getint "\nQuantity of numbers.? "))
(setq pt (getpoint "\nPoint to write: "))
(setq disth 1);;Horizontal space
(repeat cont
(setq num (fix(* qn (rnd))))
(setq cont (+ cont 1))
(command "_.text" "_non" pt 0.20 0 (rtos num))
(setq pt (list (+ (car pt)disth)(cadr pt)(caddr pt)))
)
(princ)
)
For fun, this basic routine is supposed to write a certain group of random numbers within a range established or to be established.
The question, for which I am still not able to solve, is to not validate the number 0 and prevent the outflow of repeated numbers together.
Anyone want to help?