sgl 0.4.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. data/ChangeLog +254 -234
  2. data/History.txt +6 -0
  3. data/Manifest.txt +10 -0
  4. data/Rakefile +27 -7
  5. data/examples/cocoa1-basic.rb +14 -14
  6. data/examples/cocoa10-transparent.rb +26 -26
  7. data/examples/cocoa11-application.rb +13 -13
  8. data/examples/cocoa2-draw.rb +23 -23
  9. data/examples/cocoa3-affine.rb +29 -29
  10. data/examples/cocoa4-font.rb +24 -24
  11. data/examples/cocoa5-image.rb +22 -22
  12. data/examples/cocoa6-sound.rb +24 -24
  13. data/examples/cocoa7-movie.rb +40 -40
  14. data/examples/cocoa8-movieoverlay.rb +42 -42
  15. data/examples/cocoa9-streaming.rb +40 -40
  16. data/examples/opengl1-basic.rb +14 -14
  17. data/examples/opengl11-application.rb +13 -13
  18. data/examples/opengl2-draw.rb +23 -23
  19. data/examples/opengl3-affine.rb +29 -29
  20. data/examples/sample1.rb +11 -11
  21. data/examples/sample10.rb +16 -16
  22. data/examples/sample11.rb +22 -22
  23. data/examples/sample11a.rb +33 -33
  24. data/examples/sample12.rb +30 -30
  25. data/examples/sample12a.rb +35 -35
  26. data/examples/sample13.rb +116 -116
  27. data/examples/sample15.rb +24 -24
  28. data/examples/sample16.rb +31 -31
  29. data/examples/sample16a.rb +35 -35
  30. data/examples/sample6.rb +18 -18
  31. data/examples/sample7.rb +16 -16
  32. data/examples/sample9.rb +20 -20
  33. data/examples/testgl.rb +169 -169
  34. data/lib/sgl/bass.rb +46 -46
  35. data/lib/sgl/cocoa-app.rb +43 -43
  36. data/lib/sgl/cocoa-color.rb +65 -65
  37. data/lib/sgl/cocoa-draw.rb +72 -72
  38. data/lib/sgl/cocoa-event.rb +229 -229
  39. data/lib/sgl/cocoa-media.rb +144 -144
  40. data/lib/sgl/cocoa-notuse.rb +493 -493
  41. data/lib/sgl/cocoa-window.rb +203 -203
  42. data/lib/sgl/cocoa.rb +8 -8
  43. data/lib/sgl/opengl-app.rb +38 -38
  44. data/lib/sgl/opengl-color.rb +44 -44
  45. data/lib/sgl/opengl-draw.rb +260 -260
  46. data/lib/sgl/opengl-event.rb +325 -325
  47. data/lib/sgl/opengl-modules.rb +22 -22
  48. data/lib/sgl/opengl-window.rb +224 -224
  49. data/lib/sgl/opengl.rb +7 -7
  50. data/lib/sgl/sgl-button.rb +135 -135
  51. data/lib/sgl/sgl-client.rb +21 -21
  52. data/lib/sgl/sgl-color.rb +68 -82
  53. data/lib/sgl/sgl-connect.rb +9 -9
  54. data/lib/sgl/sgl-server.rb +58 -58
  55. data/lib/sgl/sgl-spring.rb +216 -216
  56. data/lib/sgl/version.rb +2 -2
  57. data/scripts/lib-txt2html.rb +130 -0
  58. data/scripts/txt2html +2 -63
  59. data/spec/sgl_spec.rb +13 -0
  60. data/spec/spec.opts +1 -0
  61. data/spec/spec_helper.rb +1 -0
  62. data/test/test_cocoa_app.rb +291 -291
  63. data/test/test_module_ruby16.rb +30 -30
  64. data/test/test_opengl_app.rb +147 -147
  65. data/test/test_opengl_basic.rb +22 -22
  66. data/test/test_opengl_fullscreen.rb +23 -23
  67. data/test/test_opengl_novice.rb +35 -35
  68. data/website/challenge1.html +91 -91
  69. data/website/challenge1.txt +3 -3
  70. data/website/challenge2.html +143 -144
  71. data/website/challenge2.txt +13 -14
  72. data/website/challenge3.html +66 -63
  73. data/website/challenge3.txt +7 -7
  74. data/website/cocoa.html +85 -88
  75. data/website/cocoa.txt +2 -4
  76. data/website/description.html +138 -138
  77. data/website/description.txt +1 -1
  78. data/website/exercise1.html +262 -264
  79. data/website/exercise1.txt +58 -53
  80. data/website/exercise2.html +241 -683
  81. data/website/exercise2.txt +11 -427
  82. data/website/exercise3.html +206 -0
  83. data/website/exercise3.txt +155 -0
  84. data/website/exercise4.html +198 -0
  85. data/website/exercise4.txt +151 -0
  86. data/website/exercise5.html +162 -0
  87. data/website/exercise5.txt +113 -0
  88. data/website/exhibition.html +84 -84
  89. data/website/howto.html +146 -134
  90. data/website/howto.txt +9 -0
  91. data/website/index.html +178 -178
  92. data/website/index.txt +20 -19
  93. data/website/sound.html +141 -141
  94. metadata +16 -3
@@ -1,91 +1,91 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
- <title>
8
- 特別課題1
9
- </title>
10
- <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
- <style>
12
-
13
- </style>
14
- <script type="text/javascript">
15
- window.onload = function() {
16
- settings = {
17
- tl: { radius: 10 },
18
- tr: { radius: 10 },
19
- bl: { radius: 10 },
20
- br: { radius: 10 },
21
- antiAlias: true,
22
- autoPad: true,
23
- validTags: ["div"]
24
- }
25
- var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
- versionBox.applyCornersToAll();
27
- }
28
- </script>
29
- </head>
30
- <body>
31
- <div id="main">
32
-
33
- <h1>特別課題1</h1>
34
- <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/sgl"; return false'>
35
- <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/sgl" class="numbers">0.4.0</a>
37
- </div>
38
- <h2> テーマに沿ったアニメーション</h2>
39
-
40
-
41
- <ul>
42
- <li>課題: ある一つのテーマを選択し,5個のアニメーションによって表現する.
43
- <ul>
44
- <li>テーマ設定の例: 奥行感,透明性,虫の動き,色の対比,など.</li>
45
- </ul></li>
46
- </ul>
47
-
48
-
49
- <h2>絵コンテ</h2>
50
-
51
-
52
- <p>まず課題のテーマを考え,どのような動きをプログラムで実現するべきかを絵コンテにまとめる.</p>
53
-
54
-
55
- <p>次回の授業の最初に絵コンテを提出する.授業時間内に絵コンテは返却する.</p>
56
-
57
-
58
- <h2>発表</h2>
59
-
60
-
61
- <p>次次週の授業時間内にプレゼンテーション形式で発表する.</p>
62
-
63
-
64
- <p>テーマ説明,プログラムを実行する(5個を順番に見せる),プログラムの内容
65
- 説明(工夫した点など),という順番で発表する.</p>
66
-
67
-
68
- <h3>プログラムの注意点</h3>
69
-
70
-
71
- <ul>
72
- <li>windowの大きさは自由.最低200&#215;200以上とする.</li>
73
- <li>コマンドを定義する機能を最低3個は使うこと.</li>
74
- <li>ファイル名は指定のものにすること.</li>
75
- <li>ファイル名: special1a.rb, special1b.rb, special1c.rb, special1d.rb, special1e.rb</li>
76
- </ul>
77
-
78
-
79
- <h3>採点</h3>
80
-
81
-
82
- <p>テーマ選び,絵コンテも含め,内容を重視した採点をします.</p>
83
- <p class="coda">
84
- 20th June 2007<br>
85
- </p>
86
- </div>
87
-
88
- <!-- insert site tracking codes here, like Google Urchin -->
89
-
90
- </body>
91
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <title>
8
+ 特別課題1
9
+ </title>
10
+ <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
+ <style>
12
+
13
+ </style>
14
+ <script type="text/javascript">
15
+ window.onload = function() {
16
+ settings = {
17
+ tl: { radius: 10 },
18
+ tr: { radius: 10 },
19
+ bl: { radius: 10 },
20
+ br: { radius: 10 },
21
+ antiAlias: true,
22
+ autoPad: true,
23
+ validTags: ["div"]
24
+ }
25
+ var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
+ versionBox.applyCornersToAll();
27
+ }
28
+ </script>
29
+ </head>
30
+ <body>
31
+ <div id="main">
32
+
33
+ <h1>特別課題1</h1>
34
+ <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/sgl"; return false'>
35
+ <p>Get Version</p>
36
+ <a href="http://rubyforge.org/projects/sgl" class="numbers">1.0.0</a>
37
+ </div>
38
+ <h2> テーマに沿ったアニメーション</h2>
39
+
40
+
41
+ <ul>
42
+ <li>課題: ある一つのテーマを選択し,5個のアニメーションによって表現する.
43
+ <ul>
44
+ <li>テーマ設定の例: 奥行感,透明性,虫の動き,色の対比,など.</li>
45
+ </ul></li>
46
+ </ul>
47
+
48
+
49
+ <h2>絵コンテ</h2>
50
+
51
+
52
+ <p>まず課題のテーマを考え,どのような動きをプログラムで実現するべきかを絵コンテにまとめる.</p>
53
+
54
+
55
+ <p>次回の授業の最初に絵コンテを提出する.授業時間内に絵コンテは返却する.</p>
56
+
57
+
58
+ <h2>発表</h2>
59
+
60
+
61
+ <p>次次週の授業時間内にプレゼンテーション形式で発表する.</p>
62
+
63
+
64
+ <p>テーマ説明,プログラムを実行する(5個を順番に見せる),プログラムの内容
65
+ 説明(工夫した点など),という順番で発表する.</p>
66
+
67
+
68
+ <h2>プログラムの注意点</h2>
69
+
70
+
71
+ <ul>
72
+ <li>windowの大きさは自由.最低200&#215;200以上とする.</li>
73
+ <li>コマンドを定義する機能を最低3個は使うこと.</li>
74
+ <li>ファイル名は指定のものにすること.</li>
75
+ <li>ファイル名: <code>special1a.rb, special1b.rb, special1c.rb, special1d.rb, special1e.rb</code></li>
76
+ </ul>
77
+
78
+
79
+ <h2>採点</h2>
80
+
81
+
82
+ <p>テーマ選び,絵コンテも含め,内容を重視した採点をします.</p>
83
+ <p class="coda">
84
+ 30th June 2007<br>
85
+ </p>
86
+ </div>
87
+
88
+ <!-- insert site tracking codes here, like Google Urchin -->
89
+
90
+ </body>
91
+ </html>
@@ -18,13 +18,13 @@ h2. 発表
18
18
  テーマ説明,プログラムを実行する(5個を順番に見せる),プログラムの内容
19
19
  説明(工夫した点など),という順番で発表する.
20
20
 
21
- h3. プログラムの注意点
21
+ h2. プログラムの注意点
22
22
 
23
23
  * windowの大きさは自由.最低200x200以上とする.
24
24
  * コマンドを定義する機能を最低3個は使うこと.
25
25
  * ファイル名は指定のものにすること.
26
- * ファイル名: special1a.rb, special1b.rb, special1c.rb, special1d.rb, special1e.rb
26
+ * ファイル名: @special1a.rb, special1b.rb, special1c.rb, special1d.rb, special1e.rb@
27
27
 
28
- h3. 採点
28
+ h2. 採点
29
29
 
30
30
  テーマ選び,絵コンテも含め,内容を重視した採点をします.
@@ -1,144 +1,143 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
- <title>
8
- 特別課題2
9
- </title>
10
- <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
- <style>
12
-
13
- </style>
14
- <script type="text/javascript">
15
- window.onload = function() {
16
- settings = {
17
- tl: { radius: 10 },
18
- tr: { radius: 10 },
19
- bl: { radius: 10 },
20
- br: { radius: 10 },
21
- antiAlias: true,
22
- autoPad: true,
23
- validTags: ["div"]
24
- }
25
- var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
- versionBox.applyCornersToAll();
27
- }
28
- </script>
29
- </head>
30
- <body>
31
- <div id="main">
32
-
33
- <h1>特別課題2</h1>
34
- <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/sgl"; return false'>
35
- <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/sgl" class="numbers">0.4.0</a>
37
- </div>
38
- <h2>マウスの動きに反応するアニメーション</h2>
39
-
40
-
41
- <ul>
42
- <li>課題: ある一つのテーマを選択し,マウスの動きに反応する5個のプログラムで表現する.
43
- <ul>
44
- <li>前回と違い,マウスを動かすと反応するアニメーションでなくてはならない.</li>
45
- <li>テーマ設定は前回と同じテーマを選択してもよい.違うテーマでもよい.</li>
46
- <li>前回作成したプログラムを再利用してもかまわない.</li>
47
- <li>テーマ設定の例: 奥行感,透明性,虫の動き,色の対比,など.</li>
48
- </ul></li>
49
- </ul>
50
-
51
-
52
- <h2>絵コンテ</h2>
53
-
54
-
55
- <p>次週の授業の最初に絵コンテを提出する.その場で見て返却する.絵コンテは
56
- その後の授業でもずっともってくること.プレゼンの日には必ず持ってくること.</p>
57
-
58
-
59
- <p>絵コンテには,学籍番号,名前,選んだテーマ,作品のタイトルを記入する.
60
- 一枚の用紙に一つのアニメーションというフォーマットで描くこと.</p>
61
-
62
-
63
- <p>マウスを動かすとどう動きに反映されるかを考え,その反応をできるだけ詳細に
64
- 絵コンテに描くこと.</p>
65
-
66
-
67
- <h2>発表</h2>
68
-
69
-
70
- <p>課題は,授業時間内にプレゼンテーション形式で発表する.</p>
71
-
72
-
73
- <p>プレゼンテーション方法は前回と同じ.テーマの説明,最初に考えた絵コンテ,
74
- プログラムを実行させる(5個を順番に見せる),プログラムの内容の説明(工夫
75
- した点など),という順番.</p>
76
-
77
-
78
- <h2>ファイル名</h2>
79
-
80
-
81
- <p><code>sp2a.rb, sp2b.rb, sp2c.rb, sp2d.rb, sp2e.rb</code></p>
82
-
83
-
84
- <p>指定のファイル名が存在するかどうかで課題(プログラム)提出を判定している
85
- ため,必ず指定のファイル名を用いること.</p>
86
-
87
-
88
- <h2>プログラムの注意点</h2>
89
-
90
-
91
- <ul>
92
- <li>windowの大きさは自由だが,最低200&#215;200以上にする.</li>
93
- <li>コマンドを定義する機能を最低5個は使うこと.</li>
94
- <li>ファイル名は指定のものにすること.</li>
95
- </ul>
96
-
97
-
98
- <h2>作品制作にかかわる注意</h2>
99
-
100
-
101
- <p>絵コンテで考えた動きを実現するのが基本だが,難しいと思った場合は簡略化
102
- してよい.絵コンテで考えた動きを実際にプログラムで作りはじめるのが理想
103
- だが,実際に作り初めてみると,どう作っていいのかわからない,難しすぎて
104
- 作れないということがある.その場合はあきらめるのではなく,いままで学ん
105
- だことの範囲でどのような動きを実現できるかを考える.とにかく何かを実現
106
- することが重要である.</p>
107
-
108
-
109
- <p>必ず作品制作に取り組む前に絵コンテを描き,見せにくることが必要.まずど
110
- のような動きを作るかを考えてから,プログラミングを開始する.絵コンテを
111
- 見せにこないでプログラムだけ作っても,課題提出とは見なしません.</p>
112
-
113
-
114
- <p>必ず5つのプログラムを作る.1つのプログラムで5つのアニメーション,では
115
- だめです.</p>
116
-
117
-
118
- <p>コマンドを定義する機能を最低5個は使うこと.5つのプログラムで5つのコマ
119
- ンドでよい.5つのプログラムで共通に使いまわせるようなコマンドを作れる
120
- とよい.ある一つのテーマを5つのプログラムで実現すると,同じ形が複数の
121
- プログラムにでてくることがある.そのとき,その形を書くコマンドを定義し
122
- て,それを使い回すことによってプログラムを簡略化できることがある.その
123
- ようにプログラムのテクニックとしてのコマンドの使い方を体験することも課
124
- 題の一つである.コマンド機能を使ってないプログラムの場合は課題提出とは
125
- 見なしません.</p>
126
-
127
-
128
- <p>アニメーションの長さは指定しないが,短くコンパクトにまとめること.長く
129
- ても5つで3分以内におさめること.</p>
130
-
131
-
132
- <h2>採点</h2>
133
-
134
-
135
- <p>テーマ選び,絵コンテも含め,内容を重視した採点をします.</p>
136
- <p class="coda">
137
- 20th June 2007<br>
138
- </p>
139
- </div>
140
-
141
- <!-- insert site tracking codes here, like Google Urchin -->
142
-
143
- </body>
144
- </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <title>
8
+ 特別課題2
9
+ </title>
10
+ <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
+ <style>
12
+
13
+ </style>
14
+ <script type="text/javascript">
15
+ window.onload = function() {
16
+ settings = {
17
+ tl: { radius: 10 },
18
+ tr: { radius: 10 },
19
+ bl: { radius: 10 },
20
+ br: { radius: 10 },
21
+ antiAlias: true,
22
+ autoPad: true,
23
+ validTags: ["div"]
24
+ }
25
+ var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
+ versionBox.applyCornersToAll();
27
+ }
28
+ </script>
29
+ </head>
30
+ <body>
31
+ <div id="main">
32
+
33
+ <h1>特別課題2</h1>
34
+ <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/sgl"; return false'>
35
+ <p>Get Version</p>
36
+ <a href="http://rubyforge.org/projects/sgl" class="numbers">1.0.0</a>
37
+ </div>
38
+ <h2>マウスの動きに反応するアニメーション</h2>
39
+
40
+
41
+ <ul>
42
+ <li>課題: ある一つのテーマを選択し,マウスの動きに反応する5個のプログラムで表現する.
43
+ <ul>
44
+ <li>前回と違い,マウスを動かすと反応するアニメーションでなくてはならない.</li>
45
+ <li>テーマ設定は前回と同じテーマを選択してもよい.違うテーマでもよい.</li>
46
+ <li>前回作成したプログラムを再利用してもかまわない.</li>
47
+ <li>テーマ設定の例: 奥行感,透明性,虫の動き,色の対比,など.</li>
48
+ </ul></li>
49
+ </ul>
50
+
51
+
52
+ <h2>絵コンテ</h2>
53
+
54
+
55
+ <p>次週の授業の最初に絵コンテを提出する.その場で見て返却する.絵コンテは
56
+ その後の授業でもずっともってくること.プレゼンの日には必ず持ってくること.</p>
57
+
58
+
59
+ <p>絵コンテには,学籍番号,名前,選んだテーマ,作品のタイトルを記入する.
60
+ 一枚の用紙に一つのアニメーションというフォーマットで描くこと.</p>
61
+
62
+
63
+ <p>マウスを動かすとどう動きに反映されるかを考え,その反応をできるだけ詳細に
64
+ 絵コンテに描くこと.</p>
65
+
66
+
67
+ <h2>発表</h2>
68
+
69
+
70
+ <p>課題は,授業時間内にプレゼンテーション形式で発表する.</p>
71
+
72
+
73
+ <p>プレゼンテーション方法は前回と同じ.テーマの説明,最初に考えた絵コンテ,
74
+ プログラムを実行させる(5個を順番に見せる),プログラムの内容の説明(工夫
75
+ した点など),という順番.</p>
76
+
77
+
78
+ <h2>ファイル名</h2>
79
+
80
+
81
+ <p><code>sp2a.rb, sp2b.rb, sp2c.rb, sp2d.rb, sp2e.rb</code></p>
82
+
83
+
84
+ <p>指定のファイル名が存在するかどうかで課題(プログラム)提出を判定している
85
+ ため,必ず指定のファイル名を用いること.</p>
86
+
87
+
88
+ <h2>プログラムの注意点</h2>
89
+
90
+
91
+ <ul>
92
+ <li>windowの大きさは自由だが,最低200&#215;200以上にする.</li>
93
+ <li>コマンドを定義する機能を最低5個は使うこと.</li>
94
+ <li>ファイル名は指定のものにすること.</li>
95
+ </ul>
96
+
97
+
98
+ <h2>作品制作にかかわる注意</h2>
99
+
100
+
101
+ <p>絵コンテで考えた動きを実現するのが基本だが,難しいと思った場合は簡略化
102
+ してよい.絵コンテで考えた動きを実際にプログラムで作りはじめるのが理想
103
+ だが,実際に作り初めてみると,どう作っていいのかわからない,難しすぎて
104
+ 作れないということがある.その場合はあきらめるのではなく,いままで学ん
105
+ だことの範囲でどのような動きを実現できるかを考える.とにかく何かを実現
106
+ することが重要である.</p>
107
+
108
+
109
+ <p>必ず作品制作に取り組む前に絵コンテを描き,見せにくることが必要.まずど
110
+ のような動きを作るかを考えてから,プログラミングを開始する.絵コンテを
111
+ 見せずにプログラムだけ作成した場合は,課題提出とは見なさない.</p>
112
+
113
+
114
+ <p>必ず5つのプログラムを作る.1つのプログラムで5つのアニメーションにはし
115
+ ない.</p>
116
+
117
+
118
+ <p>命令を定義する機能を最低5個は使う.5つのプログラムで5つの命令でよい.5
119
+ つのプログラムで共通に使いまわせるような命令を作るようにする.一つのテー
120
+ マを5つのプログラムで実現すると,同じ形が複数のプログラムにでてくるこ
121
+ とがある.そのとき,その形を書く命令を定義して,それを使い回すことによっ
122
+ てプログラムを簡略化できる.そのようにプログラムのテクニックとしてのコ
123
+ マンドの使い方を体験することが課題の一つである.コマンド機能を使ってな
124
+ いプログラムの場合は課題提出とは見なさない.</p>
125
+
126
+
127
+ <p>アニメーションの長さは指定しない.短くコンパクトにまとめること.最長で
128
+ も5つで3分以内におさめること.</p>
129
+
130
+
131
+ <h2>採点</h2>
132
+
133
+
134
+ <p>テーマ選び,絵コンテも含め,内容を重視した採点をする.</p>
135
+ <p class="coda">
136
+ 30th June 2007<br>
137
+ </p>
138
+ </div>
139
+
140
+ <!-- insert site tracking codes here, like Google Urchin -->
141
+
142
+ </body>
143
+ </html>