kaki-lsystem 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -10
  3. data/lib/kaki/lsystem.rb +1 -1
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: afb0207087587ab5cd30b17637b5847a523d43ee
4
- data.tar.gz: ba351b43f64f4c897fee821269aa18c315d2c15b
3
+ metadata.gz: 3325f0987fcf71272d8c9d6b5e6eed423bbe1a93
4
+ data.tar.gz: 59e16df07cd89f0ccf10af90097189c0a28147f2
5
5
  SHA512:
6
- metadata.gz: 962abb9543c1af45ab0fc626def70f9e40736a229a6dcd2838ca6790189478979fd19f2a02c8865152ed29c5112e06eb607bcbd87611efb7d8f17cc6a6c1f713
7
- data.tar.gz: 85e577232cf77b92e420f23132ee986294576a4c65375d46ab694c7c9574f6fb1fd515a2a73b4d54b24414a5ecd980135b0c83177a607ff2bb8d62e9bc9fb943
6
+ metadata.gz: 8b67d406c5837fc0877918b7364209f1a4dab1a4a181964746d3108ef3ed6db56733dacff912d8eaa3cc4bc63834470a5dc687e1339f112445d7f3fb17c9b626
7
+ data.tar.gz: d339ea54f11bcd0e3f2bf52c03b39dd1a45e435e30d14d4168bd8f7e50cfaa6203f188f0c0e7e472e477e043bfe165f52b32d486d6335c196264d7f660d5717e
data/README.md CHANGED
@@ -2,24 +2,25 @@
2
2
 
3
3
  再帰曲線を描く「L-system」を実装しています。内部で Gem 'oekaki' のタートルグラフィックス機能を使っています。よって、Gem 'oekaki' をインストールすることが必要です。
4
4
 
5
- ## method
5
+ ## methods
6
6
 
7
7
  - Lsystem.new(width, height, title = "L-system")
8
8
  - インスタンスを生成します。width, height はウィンドウのサイズです。
9
9
  - move(x, y)
10
10
  - ペンの初期位置を移動させます。y方向は上が + です。
11
- - prologue {..}
11
+ - prologue \{...\}
12
12
  - ブロック内が描画前に実行されます。
13
- - set(command) {...}
14
- - 与えられた commnd(長さ1の文字列)について、ブロック内を実行するように設定します。
15
- - init(st)
16
- - st は開始時の手続きです。
17
- - rule(command) {...}
13
+ - set(command) \{...\}
14
+ - 与えられた command(長さ1の文字列)について、ブロック内を実行するように設定します。
15
+ - commandの「[」「]」はそれぞれスタックのプッシュ、ポップです。
16
+ - init(str)
17
+ - str は開始時の手続きです。
18
+ - rule(command, str)
18
19
  - command を再帰的に展開するルールです。
19
20
  - draw(n)
20
21
  - 再帰的に深さnだけ実行します。n = 0 ならば init(st) で指定された手続きのみ実行します。
21
22
 
22
- ブロック内は Oekaki::Turtle クラスのメソッドを使います。left(), right(), forward(), color(), circle(), move() など。下のURL参照。
23
+ ブロック内は Oekaki::Turtle クラスのメソッドを使います。left(), right(), forward(), color(), circle(), move(), back() など。下のURL参照。
23
24
  [http://obelisk.hatenablog.com/entry/2018/02/06/025222](http://obelisk.hatenablog.com/entry/2018/02/06/025222)
24
25
 
25
26
 
@@ -38,9 +39,9 @@ l = Lsystem.new(520, 500, "Sierpinski gasket")
38
39
  l.move(-250, -240)
39
40
  l.prologue {color(0x55c5, 0xe363, 0xf1d5)}
40
41
  l.set("-") {left(120)}
41
- l.init("F")
42
42
  l.set("F") {forward(length)}
43
43
  l.set("G") {forward(length, false)}
44
+ l.init("F")
44
45
  l.rule("F", "F-F-F-GG")
45
46
  l.rule("G", "GG")
46
47
  l.draw(n)
@@ -55,8 +56,8 @@ l.prologue {color(0x28a5, 0xa3c8, 0xca7)}
55
56
  l.dir = Vector[0, 1]
56
57
  l.set("-") {left(15)}
57
58
  l.set("+") {right(15)}
58
- l.init("F")
59
59
  l.set("F") {forward(10)}
60
+ l.init("F")
60
61
  l.rule("F", "F[+F-F-F]F[--F+F+F]")
61
62
  l.draw(4)
62
63
  ```
@@ -53,7 +53,7 @@ class Lsystem
53
53
  when "]"
54
54
  t = stack.pop
55
55
  else
56
- t.instance_exec(&@command[c]) rescue raise "'#{c}' not defined."
56
+ t.instance_exec(&@command[c])
57
57
  end
58
58
  end
59
59
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kaki-lsystem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - obelisk
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 0.1.7
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 0.1.7
27
27
  description: L-system language which draws recursive forms.
28
28
  email: obelisk_1968@mail.goo.ne.jp
29
29
  executables: []