乌龟图形 turtle graphics

中文名称 乌龟图形
英文名称 turtle graphics
作者 Minetest Forums - Viewing profile - jin_xi
语言 英语
版本 4.0.7 - 5.0.0
依赖Mode或插件
Mode类型 工具
开源协议
视频例子
原视频地址 turtle graphics - Minetest Forums
原始地址
代码仓库
下载地址 turtle-master.zip
简历 大家好,

这个mod向我的测试中添加了海龟图形。它允许您使用
luavoxemanipulators生成生成的结构。它包括一种具有类似实验语言的工具,但
也可以在lua中生成结构。这是它可以做什么的一些图片:

要获得该工具,请使用/giveme turtle:tool
右键单击生成,单击鼠标左键可编辑程序,材料并查找帮助。
第四提示使用简单的第四语言。这是一个
绕圈的示例程序

: c 90 0 do [ U G G G G G G G G G D G ] 4 A Z R loop ; c
该程序在’:‘和’;‘之间的部分中定义了单词’c’。然后调用“ c”。大写字母和“ […]”是乌龟系统的原语,“:”和“ do … loop”之类的东西是四位原语。

支架之间的部分提起笔,向前移动,放下笔,从而放置一个节点。围绕乌龟的Z轴旋转90次。记住它最初是朝上的。

然后,您可以使用新词“ c”。这是螺旋示例:

: s 90 0 do [ c ] 5 A X R G loop ; s

idk,如果这样没问题,或者为乌龟使用俯仰,偏航和滚动会更容易引起混淆。请尝试并提供反馈。

如果您想在lua中生成乌龟程序,请记住,它们由该程序和一个表中的材料列表组成。该程序只是一个由乌龟图元组成的长字符串。

我希望以某种方式将其整合到mapgen中,以允许在生物群系,
地牢等中生成装饰。

ps,您不需要使用它,可以根据需要使用lua。我使用lua完成了Candyland的工作,这是代码和如何使用它的示例:

local candycane = function ()
   axiom = "Z11ARX24ARD"
   seg = "1M[Z90ARGG]2M[Z-90ARGG]"
   
   for i = 1, 1200 do
      add("[X"..(i%90*4).."AR"..seg.."]")
      if i%20==0 then
         if i>700 then
            add "Z8ARG"
         else
            add "G"
         end
      end
   end
   return axiom
end

ldef = {
   prog = candycane(),
   materials = { "wool:red", "wool:white" }
}

minetest.register_tool("turtle:spawn", {
   description = "turtle lua spawner",
   inventory_image = "default_stick.png",
   on_use = function(itemstack, user, pointed_thing)
      local pos = pointed_thing.above
      if not pos then return end
      turtle.spawn(pos, lddef)
   end,
})