1  =begin
  2  
  3  4tiles_ver1.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      set_color(0,0,255) # 色指定
 21      turnto(270)        # 東を向く
 22      forward(100) 
 23      turn(90)     
 24      forward(100) 
 25      turn(90)    
 26      forward(100) 
 27      turn(90)    
 28      forward(100) 
 29      turn(90)    
 30  
 31      # 2番目の正方形の右下角に移動
 32      set_color(nil)
 33      turnto(90)         # 西を向く
 34      forward(8)
 35      
 36      # 2番目の正方形(110x110,赤)
 37      set_color(255,0,0) # 色指定
 38      turnto(0)          # 北を向く
 39      forward(110) 
 40      turn(90)     
 41      forward(110) 
 42      turn(90)    
 43      forward(110) 
 44      turn(90)    
 45      forward(110) 
 46      turn(90)    
 47  
 48      # 3番目の正方形の右上角に移動
 49      set_color(nil)
 50      turnto(180)         # 南を向く
 51      forward(8)
 52  
 53      # 3番目の正方形(120x120,黄)
 54      set_color(255,255,0) # 色指定
 55      turnto(90)           # 西を向く
 56      forward(120) 
 57      turn(90)     
 58      forward(120) 
 59      turn(90)    
 60      forward(120) 
 61      turn(90)    
 62      forward(120) 
 63      turn(90)    
 64      
 65      # 4番目の正方形の左上角に移動
 66      set_color(nil)
 67      turnto(270)         # 東を向く
 68      forward(8)
 69  
 70      # 4番目の正方形(130x130,緑)
 71      set_color(0,255,0) # 色指定
 72      turnto(180)        # 南を向く
 73      forward(130) 
 74      turn(90)     
 75      forward(130) 
 76      turn(90)    
 77      forward(130) 
 78      turn(90)    
 79      forward(130) 
 80      turn(90)    
 81  
 82      # 最初の点に戻る
 83      set_color(nil)
 84      turnto(0)      # 北を向く
 85      forward(8)
 86  
 87    end
 88  end
 89  
 90  # キャンバスの幅と高さ
 91  WIDTH  = 640
 92  HEIGHT = 480
 93  
 94  # キャンバスを用意する(広さ=WIDTHxHEIGHT)
 95  wrl = World.new(WIDTH,HEIGHT)
 96  
 97  # 亀を用意する
 98  t = Turtle.new()
 99  
100  # キャンバス上に亀を置く
101  # t: 亀
102  # (WIDTH/2,HEIGHT/2): 亀を置く場所
103  # 0: 亀の向き(0を上向きとして反時計回りの角度で指定する)
104  wrl.register(t,WIDTH/2,HEIGHT/2,0) 
105  
106  # 画面を表示する
107  wrl.open