问题标签 [logo-lang]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
834 浏览

x11 - 儿童友好的平铺窗口管理器

我正在寻找一个平铺窗口管理器,它可以让我的女儿(4 岁)同时运行ucblogo和显示海龟图形。

一点背景:

Ubuntu/Debian 有一个包ucblogo,它可以从控制台运行,或者以图形方式从 X 内部运行。从 X 内部运行它除了其他showturtle命令外,还允许执行将显示 logo-turtle 的命令。乌龟显示在它自己的窗口中,输入有它自己的窗口(通常xterm ucblogo是从它开始的)。图形窗口只有showturtle在发出标志命令后才“启动”,即。它从一开始就不存在。请参阅覆盆子的部分屏幕截图(其中未显示海龟,它位于BXLogo右侧的窗口中):

截图1

整个设置现在在树莓派下运行,但我想给她她自己的上网本,我躺在身边(是的,它只会在“监督”下使用;)。

平铺窗口管理器的概念对我来说有点奇怪,但我正在寻找一个平铺窗口管理器,它允许我显示两个窗口。从 text.input 窗口开始,第二个带有图形的窗口应该在上面。

任何人都可以请我指向一个初学者的资源,了解如何设置平铺窗口管理器来执行上述操作(从一个 fullscreen 开始xterm,然后在第二个窗口出现时,将此窗口平铺在第一个窗口之上或之外)。

我以前尝试ratposion过,但这似乎只能手动平铺,我已经调查过了xmonad,但它有 400 兆的依赖项,而上网本只有大约那么多的免费空间。

多一点教育背景:

我想要一个平铺窗口管理器的原因是我想暂时让所有鼠标/触摸板的杂物远离她。她已经可以使用她的用户名和密码登录,因此使用键盘的概念比鼠标更接近一些。此外,上网本的分辨率只有 800x480 像素,所以我不想在花哨的装饰上浪费任何空间。

0 投票
1 回答
1309 浏览

yacc - LOGO(或 Turtle)编程语言的 Lex/Yacc 语法文件

我想知道是否已经存在描述 Lex 和 Yacc 令牌以及LOGO解析规则的文件。

我将使用PLY for Python 来解析 LOGO 命令。我必须将文件转换为 Python,所以我希望更多地使用这些文件作为指南。

我在这里搜索并用谷歌搜索,但找不到任何东西。

0 投票
1 回答
101 浏览

programming-languages - 根据 Logo 为新语言选择语法

我正在构建一个包含 LogoWR (Tutle Graphics) 网络端口的项目,但我想对语法进行一些更改,例如变量的命名方式。

原来的:

新的:

目标是训练儿童(大约 10 到 14 岁)使用变量。它还应该教他们类型转换(以及关于使用不同的变量类型),但要使用“物理视图” - 始终明确地进行转换。我想要类似的东西$text = text(#number),以便用户可以查看变量的类型而无需查看其声明。

问题是,在您看来,孩子们遵守这些规则是否太难了?

0 投票
3 回答
4796 浏览

python - Python程序和画一个正方形

我的程序

现在我输入的文件是 (fd,fd,fd,bk,bk,lt,rt 等) 它应该画一个正方形但没有显示我做错了什么

0 投票
1 回答
711 浏览

colors - 询问所有海龟,但以不同方式适用于每只海龟 - NetLogo

我正在使用网络徽标,我想问所有海龟一些事情,但将其分别应用于每只海龟:

通过这种方式,它适用于所有海龟,但每只海龟都有不同的颜色,我希望以不同的方式单独地应用于每只海龟。我怎样才能做到这一点?谢谢

0 投票
2 回答
1886 浏览

javascript - 生成星空的算法

我昨天刚刚了解了 Logo。我是九十年代出生的,以前从来没有遇到过。所以我开始使用 Joshua Bell 编写的在线Logo Interpreter,并决定编写一个circle制作同心圆的函数。这是我写的:

有趣的是,绘图画布是一个环形阵列。因此,圆圈最终重叠。通过以 30 的倍数绘制半径增加的 160 个同心圆,我最终得到了这样的图像:

由 160 个同心圆生成的徽标星域,半径以 30 的倍数递增。

这真是令人惊讶。乍一看,它看起来像是一张真实的夜空图片,这让我开始思考——有没有一种通用的算法来绘制星空?

顺便说一句,如果您仔细观察,您会看到一个30 x 30像素正方形网格。边界是黑色的,所以有点难以注意到。

0 投票
2 回答
279 浏览

perl - 如何用具有动态作用域的语言设计函数?

我最近开始在 Logo 中编写非平凡的程序(在没有海龟图形的意义上非平凡)。我遇到的主要障碍之一是动态范围界定。例如考虑以下程序:

permute函数适用于[]它产生输出的空列表和它产生输出[[]]的带有单个项目[a] 的列表[[a]]。但是,对于具有两个或更多元素的列表,它会失败。

猜猜为什么会失败?传递给foldlfrom的 lambda 函数permute访问了自由变量list,并且因为foldl还有一个名为它的局部变量list,所以它访问了错误的变量。因为foldl是递归定义的,所以list变量会随着每次迭代而不断缩小。

我通过在函数中保存原始列表的副本解决了这个问题,foldl如下所示:

然而,我花了晚上的大部分时间才弄清楚是什么导致了这个奇怪的错误。我以前从未使用具有动态范围的语言进行编程(保存一小段 bash 脚本)。

因此我的问题如下:用具有动态作用域的语言编写函数时应该记住什么?最佳实践是什么?如何避免常见的陷阱?

0 投票
1 回答
262 浏览

logo-lang - 如何在 Berkley Logo (UCBLogo) 中捕获命令行参数?

Berkeley Logo 用户手册告诉我们,hypen 之后的所有命令行参数都将收集在变量中:

我试了一下,还是不行:

有什么想法有什么问题吗?

我使用 Ubuntu 软件包中的 ucblogo 5.5-2.1。

0 投票
1 回答
2081 浏览

turtle-graphics - LOGO WebTurtle...在每个顶点画一个半圆?

对于我的大学编程课,我不得不使用 Web Turtle。我正在尝试绘制这样的螺旋 在此处输入图像描述

我知道你必须从画一个像这样的 36 边多边形开始

但在那之后我迷路了,我试过这个:

然而,这只会在我的 36 边多边形上形成一个圆圈。我知道我需要做什么,但我无法输入代码。我需要在 36 边多边形的每个顶点上画一个半圆。我不知道为什么这对我来说比 JavaScript 更难!任何提示都会很棒!

0 投票
1 回答
638 浏览

postscript - PostScript 迷你编译器的徽标

我目前正在为 Postscript 编译器编写徽标。我的 PS 输出代码似乎无效。任何想法可能是什么问题?或者 LOGO 的实际 PostScript 版本应该是什么样子?

LOGO输入码

我的编译器中的代码。