随机获取表中的对象
<p>调用此函数可以模拟掷毂子和洗扑克牌</p><p>(defun randGetObj (alist / int int0 int1 second n item)<br/> (if (not (listp alist))<br/> (progn<br/> (princ "\n参数类型错误!")<br/> (quit)<br/> )<br/> )<br/> (if (or (< (length alist) 2) (> (length alist) 60000))<br/> (progn<br/> (princ "\n参数表中的元素太多或太少了")<br/> (quit)<br/> )<br/> )<br/> (setq int (length alist))<br/> (setq int0 (fix (/ 60000 int))<br/> int0 (* int0 int)<br/> int0 (1- int0)<br/> )<br/> (setq second (read (menucmd "M=$(edtime,$(getvar,date),ss.MSEC)"))<br/> int1 (* second 1000)<br/> n 1<br/> )<br/> (while (and (< n 10) (< int0 int1))<br/> (setq second (read (menucmd "M=$(edtime,$(getvar,date),ss.MSEC)"))<br/> int1 (* second 1000)<br/> n (1+ n)<br/> )<br/> )<br/> (if (= n 10)<br/> (setq int1 0)<br/> )<br/> (setq item (fix (rem int1 int)))<br/> (nth item alist)<br/>)</p> <p>说白了就是带一组seed的随机函数</p>
页:
[1]