1  =begin
 2  
 3  4tiles_ver4.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      # 1番目の正方形(100x100,青)
20      square(100,270,0,0,255)
21  
22      # 2番目の正方形の右下角に移動
23      set_color(nil)
24      turnto(90)         # 西を向く
25      forward(8)
26      
27      # 2番目の正方形(110x110,赤)
28      square(110,0,255,0,0)
29  
30      # 3番目の正方形の右上角に移動
31      set_color(nil)
32      turnto(180)         # 南を向く
33      forward(8)
34  
35      # 3番目の正方形(120x120,黄)
36      square(120,90,255,255,0)
37  
38      # 4番目の正方形の左上角に移動
39      set_color(nil)
40      turnto(270)         # 東を向く
41      forward(8)
42  
43      # 4番目の正方形(130x130,緑)
44      square(130,180,0,255,0)
45  
46      # 最初の点に戻る
47      set_color(nil)
48      turnto(0)      # 北を向く
49      forward(8)
50  
51    end
52  
53    # 正方形を描く(サイズ=len×len,方位dirを向いてスタート,色=[r,g,b])
54    def square(len,dir,r,g,b)
55      set_color(r,g,b) # 色指定
56      turnto(dir)      # 方位指定
57      4.times do 
58        forward(len) 
59        turn(90)     
60      end
61    end
62  
63  
64  end
65  
66  # キャンバスの幅と高さ
67  WIDTH  = 640
68  HEIGHT = 480
69  
70  # キャンバスを用意する(広さ=WIDTHxHEIGHT)
71  wrl = World.new(WIDTH,HEIGHT)
72  
73  # 亀を用意する
74  t = Turtle.new()
75  
76  # キャンバス上に亀を置く
77  # t: 亀
78  # (WIDTH/2,HEIGHT/2): 亀を置く場所
79  # 0: 亀の向き(0を上向きとして反時計回りの角度で指定する)
80  wrl.register(t,WIDTH/2,HEIGHT/2,0) 
81  
82  # 画面を表示する
83  wrl.open