乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 42|回复: 6

[编程交流] 新颖Lisp程序

[复制链接]

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 22:21:52 | 显示全部楼层 |阅读模式
我附加了一个新颖的lisp程序,它使用对象反应器将几个圆连接在一起,形成一个蛇型图形。蛇头是使用grread操纵的。
 
两个主要功能是“Snake”和“Snake2”。
 
这只是最初的想法。(更多圆圈)
 
蛇2:是更少的圆圈,但圆圈可以推动其他圆圈。(当我在这个圆上添加太多的圆时,AutoCAD不太喜欢它)
 
我希望你喜欢!
 
当做
 
Hippe013
蛇LSP
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 22:40:35 | 显示全部楼层
Hippe013,我能说什么。。。Awaysome。。。这两个版本简直太棒了。。。只有一件事,在lisp的末尾添加(princ),它将删除作为输出的文本重复。。。我必须承认我没有太多使用反应堆,但这一个是完美的。。。
 
祝你一切顺利,M.R。
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 22:42:01 | 显示全部楼层
谢谢Marko!我有一个同事说这是一个很好的减压工具。我不得不称赞李,因为我受到了他的启发。lsp和他对mapcar和lambda的巧妙使用,我现在终于开始理解和更频繁地使用了。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 22:53:10 | 显示全部楼层
好主意,嬉皮士-谢谢你的赞誉,我很高兴能激励你!
 
如果你想寻求建议,我个人会避免在这项任务中使用反应堆,例如:
  1. ([color=BLUE]defun[/color] c:snake ( [color=BLUE]/[/color] c1 cl el gr p1 r1 r2 rl vs )
  2.    ([color=BLUE]if[/color] ([color=BLUE]setq[/color] p1 ([color=BLUE]getpoint[/color] [color=MAROON]"\nClick to generate the snake! "[/color]))
  3.        ([color=BLUE]progn[/color]
  4.            ([color=BLUE]setq[/color] vs ([color=BLUE]getvar[/color] 'viewsize)
  5.                  r1 ([color=BLUE]/[/color] vs (LM:randrange 30 80))
  6.            )
  7.            ([color=BLUE]repeat[/color] 20
  8.                ([color=BLUE]setq[/color] el ([color=BLUE]cons[/color] ([color=BLUE]cons[/color] -1 ([color=BLUE]entmakex[/color] ([color=BLUE]list[/color] '(0 . [color=MAROON]"CIRCLE"[/color]) ([color=BLUE]cons[/color] 10 p1) ([color=BLUE]cons[/color] 40 r1) ([color=BLUE]cons[/color] 62 ([color=BLUE]logand[/color] (LM:randrange 2 255) ([color=BLUE]~[/color] 1)))))) el)
  9.                      cl ([color=BLUE]cons[/color] p1 cl)
  10.                      rl ([color=BLUE]cons[/color] r1 rl)
  11.                      r2 ([color=BLUE]/[/color] vs (LM:randrange 30 80))
  12.                      p1 ([color=BLUE]cons[/color] ([color=BLUE]-[/color] ([color=BLUE]car[/color] p1) r1 r2) ([color=BLUE]cdr[/color] p1))
  13.                      r1 r2
  14.                )
  15.            )
  16.            ([color=BLUE]setq[/color] el ([color=BLUE]reverse[/color] el)
  17.                  cl ([color=BLUE]reverse[/color] cl)
  18.                  rl ([color=BLUE]reverse[/color] rl)
  19.            )
  20.            ([color=BLUE]while[/color] ([color=BLUE]=[/color] 5 ([color=BLUE]car[/color] ([color=BLUE]setq[/color] gr ([color=BLUE]grread[/color] [color=BLUE]t[/color] 13 0))))
  21.                ([color=BLUE]entmod[/color] ([color=BLUE]list[/color] ([color=BLUE]car[/color] el) ([color=BLUE]cons[/color] 10 ([color=BLUE]setq[/color] c1 ([color=BLUE]cadr[/color] gr)))))
  22.                ([color=BLUE]setq[/color] cl
  23.                    ([color=BLUE]cons[/color] c1
  24.                        ([color=BLUE]mapcar[/color]
  25.                           '([color=BLUE]lambda[/color] ( a b c d )
  26.                                ([color=BLUE]entmod[/color] ([color=BLUE]list[/color] a ([color=BLUE]cons[/color] 10 ([color=BLUE]setq[/color] c1 ([color=BLUE]polar[/color] c1 ([color=BLUE]angle[/color] c1 c) ([color=BLUE]+[/color] b d))))))
  27.                                c1
  28.                            )
  29.                            ([color=BLUE]cdr[/color] el) ([color=BLUE]cdr[/color] rl) ([color=BLUE]cdr[/color] cl) rl
  30.                        )
  31.                    )
  32.                )
  33.            )
  34.        )
  35.    )
  36.    ([color=BLUE]princ[/color])
  37. )
  38. [color=GREEN];; Rand  -  Lee Mac[/color]
  39. [color=GREEN];; PRNG implementing a linear congruential generator with[/color]
  40. [color=GREEN];; parameters derived from the book 'Numerical Recipes'[/color]
  41. ([color=BLUE]defun[/color] LM:rand ( [color=BLUE]/[/color] a c m )
  42.    ([color=BLUE]setq[/color] m   4294967296.0
  43.          a   1664525.0
  44.          c   1013904223.0
  45.          $xn ([color=BLUE]rem[/color] ([color=BLUE]+[/color] c ([color=BLUE]*[/color] a ([color=BLUE]cond[/color] ($xn) (([color=BLUE]getvar[/color] 'date))))) m)
  46.    )
  47.    ([color=BLUE]/[/color] $xn m)
  48. )
  49. [color=GREEN];; Random in Range  -  Lee Mac[/color]
  50. [color=GREEN];; Returns a pseudo-random integral number in a given range (inclusive)[/color]
  51. ([color=BLUE]defun[/color] LM:randrange ( a b )
  52.    ([color=BLUE]fix[/color] ([color=BLUE]+[/color] a ([color=BLUE]*[/color] (LM:rand) ([color=BLUE]-[/color] b a -1))))
  53. )
  54. ([color=BLUE]princ[/color])
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:06:32 | 显示全部楼层
创意不错!!好的激励!
我更喜欢实时entmod,但很少看到反应堆的例子,很好的方法!谢谢大家分享!
嬉皮士和李你们都应该得到荣誉
回复

使用道具 举报

7

主题

50

帖子

45

银币

初来乍到

Rank: 1

铜币
39
发表于 2022-7-5 23:15:43 | 显示全部楼层
@Hippe013:多酷的想法,这么好的代码。做得好!
回复

使用道具 举报

8

主题

125

帖子

117

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 23:22:57 | 显示全部楼层
可以在AutoCAD中运行“Snake”游戏吗?谈谈新奇的LSP!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 06:26 , Processed in 0.569040 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表