1  =begin
 2  
 3  4tiles_ver5.rb:
 4    タートルグラフィクスにより正方形2x2個からなる図形を描く.
 5    正方形のサイズは小さい方から順に100x100,110x110,120x120,130x130とする.
 6    正方形同士の間を8ずつ空けることにする.
 7  
 8  =end
 9  
10  # タートルグラフィクスパッケージの読み込み
11  require 'gtr/turtle'
12  include Gtr
13  
14  ## 亀の動作の記述
15  class Turtle
16    def draw
17      set_speed(10)      # アニメーションのスピード設定
18  
19      square(100,270,0,0,255)  # 1番目の正方形(100x100,青)
20      turn_and_go(90,8)        # 2番目の正方形の右下角に移動
21  
22      square(110,0,255,0,0)    # 2番目の正方形(110x110,赤)
23      turn_and_go(180,8)       # 下の正方形の右上角に移動
24  
25      square(120,90,255,255,0) # 3番目の正方形(120x120,黄)
26      turn_and_go(270,8)       # 右の正方形の左上角に移動
27  
28      square(130,180,0,255,0)  # 4番目の正方形(130x130,緑)
29      turn_and_go(0,8)         # 最初の点に戻る
30  
31    end
32  
33    # 正方形を描く(サイズ=len×len,方位dirを向いてスタート,色=[r,g,b])
34    def square(len,dir,r,g,b)
35      set_color(r,g,b) # 色指定
36      turnto(dir)      # 方位指定
37      4.times do 
38        forward(len) 
39        turn(90)     
40      end
41    end
42  
43    # 方位dirを向いて(何も描かずに)distだけ進む
44    def turn_and_go(dir,dist) 
45      set_color(nil)
46      turnto(dir)
47      forward(dist)
48    end
49  
50  end
51  
52  # キャンバスの幅と高さ
53  WIDTH  = 640
54  HEIGHT = 480
55  
56  # キャンバスを用意する(広さ=WIDTHxHEIGHT)
57  wrl = World.new(WIDTH,HEIGHT)
58  
59  # 亀を用意する
60  t = Turtle.new()
61  
62  # キャンバス上に亀を置く
63  # t: 亀
64  # (WIDTH/2,HEIGHT/2): 亀を置く場所
65  # 0: 亀の向き(0を上向きとして反時計回りの角度で指定する)
66  wrl.register(t,WIDTH/2,HEIGHT/2,0) 
67  
68  # 画面を表示する
69  wrl.open