Rubyでタートルグラフィックスに用いられるタートルクラスを簡単に作成したのですが、タートルクラスを用いて実行するときに、座標を(x,y,a)のようにターミナルに出力する方法がわかりません。
こちらが作成したタートルクラスで
Ruby
1require 'matrix' 2include Math 3class Turtle 4 def initialize(width, height, ob) 5 @width, @height = width, height 6 @pen_po = Vector[0, 0] 7 @pen = ob 8 @dir = Vector[1, 0] 9 end 10 attr_accessor :pen_po, :dir 11 12 def lt(deg) 13 θ = PI * deg / 180 14 @dir = Matrix[[cos(θ), -sin(θ)], [sin(θ), cos(θ)]] * @dir 15 end 16 17 def rt(deg) 18 lt(-deg) 19 end 20 21 def fd(length, draw = true) 22 next_po = @pen_po + @dir * length 23 @pen_po = next_po 24 end 25 26 def bk(length) 27 fd(-length, false) 28 end 29 30 def moveTo(x, y) 31 @pen_po = Vector[x, y] 32 end 33end
こちらが実行しようとしたプログラムです
Ruby
1require_relative 'turtle' 2require 'matrix' 3include Math 4x=300.0 5y=200.0 6d=100.0 7t=Turtle.new(x,y,180) 8t1=Turtle.new(x+d,y+d,0.0) 9t.fd(d) 10t1.fd(d) 11t.lt(90.0) 12t1.lt(90.0) 13d=d/2 14t.fd(d) 15t1.fd(d) 16puts t 17puts t1
これを実行するとターミナルには
#<Turtle:0x00007f9032019c70> #<Turtle:0x00007f9032019b08>
と出てしまいます。これはタートルクラスを編集するのが正しいのでしょうか。それとも座標を出すときにputsを使用しているのが不適切なのでしょうか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。