伟的博客 研发工程师

适合孩子学习的编程语言,turtle

2013-12-19

先来个例子,简单画房子(带烟囱) LOGO语言是为教育儿童编程开发的,所以语法很简单。它基于LISP,还附加有一个海龟绘图系统(Turtle Graphic)。我们通过编写的程序,可以控制屏幕上的小海龟的移动,并在画面上留下行动的轨迹。你可以用LOGO语言画出一幅不错的画来。于是在Ubuntu下搜索,找到KTurtle,是LOGO的一个变体。它的语法是面向过程的,类似于C,支持数学和逻辑运算,可以实现循环 (for)或者选择 (if)。常见的命令包括forward, backward, turnleft, turnright,用于控制小海龟的前进后退和转向。另外也可以用ask和print来输入输出。变量用$a的形式表示。在绘图过程中,小海龟不断移动,同时左侧也会用黄色标明运行到哪一行了,非常有趣。一句话来形容,麻雀虽小,五脏俱齐。

该例来自 http://banajim.myweb.port.ac.uk/recreation/logoscripts

画房子

reset # 清空画面 penup # 抬起笔,开始不留下痕迹 forward 50 pendown # 放下笔,开始留下痕迹 pw 2 # penwidth,线条粗细 go 200, 200 # 前往坐标点

房子主体

turnleft 90 # 左转90度 forward 100 # 前进100像素 turnright 90 forward 100 turnleft 90 forward 30 turnright 140 forward 40 turnleft 50 forward 40 turnright 90 forward 20 turnright 90 forward 25 turnleft 130 forward 40 turnright 80 forward 105 turnright 140 forward 30 turnleft 90 forward 100

窗户

go 120, 90 turnleft 90 forward 60 turnleft 90 repeat 90 { forward 1.05 turnleft 2 }

窗户中线

go 150, 90 turnright 180 forward 30

窗户对角线

tr 45 # turnright的简写 go 135, 77 forward 10 go 135, 82 forward 10 go 160, 79 forward 10 go 160, 84 forward 10 tl 45

go 120,200 forward 50 tr 90 forward 30 tr 90 forward 50

门把手

go 145, 175 repeat 24 { # 循环24次 forward 1 tr 15 }

窗户

go 160,140 tr 180 forward 25 tr 90 forward 25 tr 90 forward 25 tr 90 forward 25 tr 90

窗户中线

go 172.5,140 forward 25 tr 90 go 160,127.5 forward 25

窗户对角线

pw 1

tl 45 go 164, 134 forward 5 go 164, 138 forward 5 go 177, 121 forward 5 go 177, 125 forward 5 tr 45 go 230,150


上一篇 迷信与科学

Comments