还记得Logo语言吗
其实当年在做关于GDI+和.Net WinForm控件开发的时候,一时兴起,就顺便用GDI+和一些简单的编译原理知识做了一个用于Logo语言开发的小工具(解释运行)。(请参考刚学GDI+和.Net WinForm控件开发时做的Training Project,这个小工具的源代码其实是嵌在这个贴子里提到的源代码中的,大家有兴趣的话可以去这篇贴子里下载源代码来看。)
大家也可以直接下载可执行版本来玩玩看(基于.Net 2.0)
Logo语言是N多年前国外的小朋友用于学习编程的用于画一些很有兴趣的图形的入门语言,可惜中国的电脑教育很落后,有机会以在童年就接触到Logo语言的人不多(偶也是到初二才有机会见识到)。
先给大家看看Logo语言画出来的图:
这是用于画出这些图形的源代码:
Logo语言的基本思想是通过指令操作小海龟(很亲切的充满回忆的名字,其实就是光标)前进后退以及转弯,小海龟走过的地方就会留下痕迹(线条)。
在这里简单介绍一下用于LogoJoy这款工具的Logo语言的语法(跟原版Logo语言的语法有一点点不一样):
fd[n] 前进[n]步
bd[n] 后退[n]步
lt[n] 左转1度
rt[n] 右转1度
pd 设定当前状态为移动时留下痕迹
pu 设定当前状态为移动时不留下痕迹
hm 回到画布中心点
repeat([代码])[n] 重复执行[n]遍[代码]。比如要画一个圆,可以用repeat(fd1;rt1;)360,意思是走一步右转1度,并重复360次。
st([name])[value] 变量赋值,将[value]赋给名称为[name]的变量,这个赋值语句支持累加。所声明的变量可以用在上面这些命令中的[n]参数中。
希望大家能下载这个LogoJoy来玩玩看,找找当年的回忆:-)