LoginSignup
2
1

More than 5 years have passed since last update.

LOGO(ACSLogo)で遊ぶ

Posted at

ACSLogo For Mac OS X で遊びます。

環境

  • Mac OS X 10.10.4

資料

関数定義

関数を定義するには、以下のように書きます。

define 関数名 [[引数] [本体]]

たとえば、二つの引数を受け取り、その和を返す関数 add は次のようになります。

define "add [[a b] [:a + :b]]

本体で引数を参照するときは、:a, :b のように先頭にコロンを付けます。

コメントの書き方

ダブルスラッシュでコメントになります。

sum 10 20 // これはコメント

亀の表示オンオフ

showturtle で亀を表示、hideturtle で亀を非表示にします。

サンプル

(サンプルは更新中です)

スパイラル

spiral.jpg

define "spiral [[size angle]
  [if :size < 100
    [fd :size
     rt :angle
     spiral (:size + 2) :angle]]]

cs spiral 0 90

flower.jpg

define "halfleaf [[]
  [repeat 9 [fd 10 rt 10]]]

define "leaf [[]
  [halfleaf
   rt 90
   halfleaf]]

define "flower [[]
  [repeat 10 [leaf rt 10]
   setheading 180
   fd 200
   rt 180
   fd 30
   rt 20
   leaf]]

cs flower

コッホ曲線

koch.jpg

define "koch [[len level]
  [if :level = 0
    [fd :len]
    [local "w
     local "h
     make "w (:len / 3)
     make "h :level - 1
     koch :w :h
     lt 60
     koch :w :h
     rt 120
     koch :w :h
     lt 60
     koch :w :h]]]

cs rt 90 koch 300 4
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1