kaki-lsystem 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []