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