trtl 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 (7) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +1 -1
  3. data/README.md +22 -1
  4. data/lib/trtl.rb +10 -8
  5. data/test/helper.rb +1 -1
  6. data/trtl.gemspec +3 -2
  7. metadata +23 -11
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 80fa5fb101dd5fe7e3ed22055cea60244ab076e5
4
+ data.tar.gz: f15e874499332c044aa3fd9cfed00bbf75c6587b
5
+ SHA512:
6
+ metadata.gz: 7b662109d8892ca4533a9e8f0c967caa2a606a1de38f5791f97b83a78d039d1079579ba560cac9631f1e3df33a21fa09d66614a778a86964bebc94d58b6451ae
7
+ data.tar.gz: 034af7c28de84e94045db0e2d693d6d1c8e556e4935317375c04f9416fc210863ceaa1fa8647901ba8c287f3c859b11ff70ca3f8d99fc1191787b1929fd72208
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in trtl.gemspec
4
4
  gemspec
data/README.md CHANGED
@@ -43,6 +43,27 @@ IRb:
43
43
  Note: Using InteractiveTurtle makes drawing slower as it ensures all graphics
44
44
  are drawn after every action (as necessary for IRb use).
45
45
 
46
+ ## Commands
47
+
48
+ Only a small number of commands are currently implemented, but they're enough for the major actions:
49
+
50
+ * `title(title_name)`
51
+ * `forward(distance)` - aliased as `fd`
52
+ * `back(distance)` - aliased as `bk` and `backward`
53
+ * `left(angle)` - aliased as `lt`
54
+ * `right(angle)` - aliased as `rt`
55
+ * `pen_up` - aliased as `pu` and `up` and `penup`
56
+ * `pen_down` - aliased as `pd` and `down` and `pendown`
57
+ * `color(color_name)` - aliased as `pencolor`
58
+ * `move(x, y)` - aliased as `goto`
59
+ * `position` - aliased as `pos`
60
+ * `circle(radius, extent = 360, steps = 360)`
61
+ * `dot(size)` - draws a dot, defaults to a sensible size but you can supply if you want
62
+ * `is_drawing?`
63
+ * `width(width_in_pixels)`
64
+
65
+ More documentation to come later.
66
+
46
67
  ## Examples
47
68
 
48
69
  The examples in the `examples` folder should be reasonably illustrative. If you
@@ -52,7 +73,7 @@ try any of them, try `example4.rb` - it renders an awesome looking tree.
52
73
 
53
74
  ## Credits
54
75
 
55
- * turtle.py for inspiration
76
+ * turtle.py for inspiration (in the 'Ruby needs this!' sense)
56
77
  * Some of the examples taken from examples for an earlier Ruby turtle found at http://www.rubyquiz.com/quiz104.html
57
78
 
58
79
  ## Copyright and License
@@ -1,8 +1,6 @@
1
1
  require 'tk'
2
2
 
3
3
  class Trtl
4
- VERSION = "0.0.1"
5
-
6
4
  CANVAS_WIDTH = 800
7
5
  CANVAS_HEIGHT = 600
8
6
  HOME_X = CANVAS_WIDTH / 2
@@ -33,10 +31,14 @@ class Trtl
33
31
  @canvas
34
32
  end
35
33
 
34
+ def title(title)
35
+ TkRoot.new(:title => title)
36
+ end
37
+
36
38
  def pen_up
37
39
  @drawing = false
38
40
  end
39
-
41
+
40
42
  def pen_down
41
43
  @drawing = true
42
44
  end
@@ -52,7 +54,7 @@ class Trtl
52
54
  def width(width)
53
55
  @width = width
54
56
  end
55
-
57
+
56
58
  def forward(amount = 20)
57
59
  new_x = (@x + dx * amount)
58
60
  new_y = (@y + dy * amount)
@@ -64,18 +66,18 @@ class Trtl
64
66
  new_y = (@y - dy * amount)
65
67
  move(new_x, new_y)
66
68
  end
67
-
69
+
68
70
  def move(new_x, new_y)
69
71
  TkcLine.new(canvas, @x, @y, new_x, new_y, :width => @width, :fill => @color) if @drawing
70
72
  @x, @y = new_x, new_y
71
73
  draw
72
74
  end
73
-
75
+
74
76
  def right(offset)
75
77
  @heading = (@heading + offset) % 360
76
78
  draw
77
79
  end
78
-
80
+
79
81
  def left(offset)
80
82
  @heading = (@heading - offset) % 360
81
83
  draw
@@ -144,7 +146,7 @@ class Trtl
144
146
  def dx
145
147
  Math.cos(@heading * DEG)
146
148
  end
147
-
149
+
148
150
  def dy
149
151
  Math.sin(@heading * DEG)
150
152
  end
@@ -1,3 +1,3 @@
1
1
  require 'minitest/spec'
2
2
  require 'minitest/autorun'
3
- require 'trtl'
3
+ require_relative '../lib/trtl'
@@ -1,10 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
- require "trtl"
4
3
 
5
4
  Gem::Specification.new do |s|
6
5
  s.name = "trtl"
7
- s.version = Trtl::VERSION
6
+ s.version = "0.0.2"
8
7
  s.authors = ["Peter Cooper"]
9
8
  s.email = ["git@peterc.org"]
10
9
  s.homepage = "https://github.com/peterc/trtl"
@@ -17,4 +16,6 @@ Gem::Specification.new do |s|
17
16
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
17
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
18
  s.require_paths = ["lib"]
19
+
20
+ s.add_runtime_dependency 'tk', '~> 0.1'
20
21
  end
metadata CHANGED
@@ -1,16 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trtl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Peter Cooper
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-07-08 00:00:00.000000000 Z
13
- dependencies: []
11
+ date: 2017-02-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: tk
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.1'
14
27
  description: A Logo / turtle.py style turtle graphics system for Ruby
15
28
  email:
16
29
  - git@peterc.org
@@ -18,7 +31,7 @@ executables: []
18
31
  extensions: []
19
32
  extra_rdoc_files: []
20
33
  files:
21
- - .gitignore
34
+ - ".gitignore"
22
35
  - Gemfile
23
36
  - LICENSE.md
24
37
  - README.md
@@ -35,27 +48,26 @@ files:
35
48
  - trtl.gemspec
36
49
  homepage: https://github.com/peterc/trtl
37
50
  licenses: []
51
+ metadata: {}
38
52
  post_install_message:
39
53
  rdoc_options: []
40
54
  require_paths:
41
55
  - lib
42
56
  required_ruby_version: !ruby/object:Gem::Requirement
43
- none: false
44
57
  requirements:
45
- - - ! '>='
58
+ - - ">="
46
59
  - !ruby/object:Gem::Version
47
60
  version: '0'
48
61
  required_rubygems_version: !ruby/object:Gem::Requirement
49
- none: false
50
62
  requirements:
51
- - - ! '>='
63
+ - - ">="
52
64
  - !ruby/object:Gem::Version
53
65
  version: '0'
54
66
  requirements: []
55
67
  rubyforge_project: trtl
56
- rubygems_version: 1.8.24
68
+ rubygems_version: 2.6.8
57
69
  signing_key:
58
- specification_version: 3
70
+ specification_version: 4
59
71
  summary: Ruby turtle graphics (ideal for use from IRb)
60
72
  test_files:
61
73
  - test/helper.rb