LOGO 海龟作画 系列二 之定义个过程来 say Hello, World - Logo Turtle Graphics - Series 2 - Define Procedure and Say Hello, World

This quick tutorial shows you how to define a basic procedure in LOGO with or without parameters. The one-line comments start with semi-colons similar to assembly language.

Then, we define a procedure to let the turtle draw the "Hello, World". You can verify the output of the Hello-World using this PHP Online Interpreter I developed years ago.

上次说到,LOGO语言几个最基本的命令,就是前进FD后退BK向左转LT向右转RT。参数都是可以支持负数的,也就是说 FD 100 相当于 BK -100 (向前走100步等于向后退 负的100步)。

今天讲的就是过程,也就是我们编程语言里的函数。在LOGO语言里定义过程的语法如下(LOGO语言中用分号开始定义行注释,这个和汇编语言一样):

TO  :1  :2
  ; 
END

参数是可选的,比如:

TO SQUARE
    REPEAT 4 [FD 100 RT 90]
END

定义了一个画边长为100的正方形,我们调用的时候只需要 SQUARE 就可以了。加入参数后就比较灵活,可以指定任意边长,比如

TO SQUARE :L
  REPEAT 4 [FD :L RT 90]
END

比如调用的时候我们可以这么用:

SQUARE 100  ; 100
SQUARE 50    ; 50

效果如下:

讲到这里,我觉得才可以入门了,每种程序总要来秀一段Hello, World, 在LOGO语言里,我们就用海龟把 Hello, World 画出来。

# hello, world
to helloworld
 hideturtle
 fd 20 left 180
 fd 40 left 180
 fd 20 right 90
 fd 20 left 90
 fd 20 left 180
 fd 40 left 90
 fd 20 left 90
 fd 20 right 90
 fd 20 right 90
 fd 10 right 90
 fd 20 left 90
 fd 10 left 90
 fd 30 left 90
 fd 40 left 180
 fd 40 left 90
 fd 20 left 90
 fd 40 left 180
 fd 40 left 90
 fd 40 left 90
 fd 20 left 90
 fd 20 left 90
 fd 20 left 90
 fd 60 left 90
 fd 40 left 180
 fd 40 left 90
 fd 20 left 90
 fd 20 left 180
 fd 20 left 90
 fd 20 left 90
 fd 40 left 180
 fd 40 left 90
 fd 40 left 90
 fd 20 left 90
 fd 20 left 90
 fd 20 left 90
 fd 40 left 90
 fd 20 right 90
 fd 20 right 90
 fd 5  left 90  
 fd 5  left 90  
 fd 25 left 180
 fd 40 left 90
 fd 40 left 90
 fd 20 left 90
 fd 20 left 90
 fd 20 left 90
 fd 20 left 90
 fd 40 left 180
 fd 40
end

lt 90 pu fd 200 pd rt 90 helloworld 

效果如下(海龟一气呵成要累死了都):

您可以使用我写的这个PHP-LOGO解释器来验证这段LOGO代码。

Originally published at https://steemit.com Thank you for reading my post, feel free to Follow, Upvote, Reply, ReSteem (repost) @justyy which motivates me to create more quality posts.

原创 https://Steemit.com 首发。感谢阅读,如有可能,欢迎Follow, Upvote, Reply, ReSteem (repost) @justyy 激励我创作更多更好的内容。

// 稍后同步到我的中文博客和英文计算机博客

近期热贴

Recent Popular Posts


Tags: #cn #cn-programming #logo-turtle #helloworld

H2
H3
H4
3 columns
2 columns
1 column
7 Comments