马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 newer 于 2021-2-2 21:32 编辑
DOBLIB:
 - (defun rnd[0-n] ( n / [0-1] [0-n] )
- (setq [0-1] (atof (strcat "0." (itoa (dos_random)))))
- (setq [0-n] (fix (* [0-1] (1+ n))))
- [0-n]
- )
XDRX API:
 - (defun rnd[0-n] ( n / [0-1] [0-n] )
- (setq [0-1] (atof (strcat "0." (itoa (xdrx_math_random)))))
- (setq [0-n] (fix (* [0-1] (1+ n))))
- [0-n]
- )
测试:
 - (defun c:tt ()
- (repeat 10
- (princ "\n")
- (princ (rnd[0-n] 10000))
- )
- (princ)
- )
- 命令: TT
- 1815
- 1835
- 1311
- 1997
- 1250
- 1980
- 1983
- 7685
- 9750
- 1168
复制代码
XDRX API 提供的 函数 xdrx-math-rand 可以直接获取,比上面的算法实现的,结果更随机
 - (defun c:tt ()
- (repeat 10
- (princ "\n")
- (princ (xdrx-math-rand 10000))
- )
- (princ)
- )
- 命令: TT
- 681
- 5896
- 462
- 8288
- 3238
- 8334
- 1715
- 5943
- 2668
- 5010
复制代码
|