Turtle Graphics
で遊ぼう!
用意するもの
• Eclipse(総合開発環境)
自分でJavaソースコードを書く、コンパイル、
実行まで出来る環境があればそれでもOK
• Turtleクラス
偉大なライブラリを作って頂いた先人に感謝
Eclipse
• USBフラッシュメモリ内に保存
各自OSに対応したEclipseをコピーして下さい
Windows 32bit・64bit
Mac 32bit・64bit
Turtleクラス
• USBフラッシュメモリに保存
 各自Turtleフォルダごとコピー下さい
• GitHubから入手する
https://github.com/arienkakkowara/TurtleGraphics
上記のリポジトリをcloneして下さい
Turtleクラス
• TurtleGraphicsとは?
 TurtleGraphics(タートルグラフィックス)は
子供にプログラミングを紹介するのによく使わ
れます。TurtleGraphicsはWally Feurzigと
Seymore Papertが1966年に開発したLogoプ
ログラミング言語の一部でした。
引用:http://docs.python.jp/3.3/library/turtle.html
TurtleGraphicsで遊ぶ
• TurtleFrameクラスの詳細
コンストラクタ
TurtleFrame()
ウィンドウを
400☓400の大きさで生成
TurtleFrame(int
width, int height)
ウィンドウを
width☓heightの大きさで生成
メソッド
void add(Turtle t) カメtをウィンドウに追加
void remove
(Turtle t)
カメtをウィンドウから削除
void clear() 今までに書かれた線を全て削除
void addMesh() 方眼紙のようなマス目を表示
TurtleGraphicsで遊ぶ
• Turtleクラスの詳細(その1)
コンストラクタ
Turtle() (200, 200)の位置、0度の向きでカメ生成
Turtle(int x, int y,
int angle)
(x, y)の位置、angle度の向きでカメ生成
メソッド
void fd(int n) nだけカメを前に進める
void bk(int n) nだけカメを後に進める
void rt(int n) n度だけカメを右に回転する
void lt(int n) n度だけカメを左に回転する
void setColor(Color
c)
カメの色をcに変更する
TurtleGraphicsで遊ぶ
• Turtleクラスの詳細(その2)
メソッド(続き)
int moveTo(int x,
int y)
(x, y)の方向を向き、(x, y)まで移動する
移動した距離を返す
int moveTo(Turtle
t)
カメtの方向を向き、tと同じ位置まで移動
移動した距離を返す
int moveTo(int x,
int y, int angle)
(x, y)の方向を向き、(x, y)まで移動、
angleの角度をむく
移動した距離を返す
int getX() 現在のx座標の値を返す
int getY() 現在のy座標の値を返す
int getAngle() 現在の向いている角度angleを返す
TurtleGraphicsで遊ぶ
• Turtleクラスの詳細(その3)
メソッド(続き)
void up() ペンを上げる
void down() ペンを下げる(進んだ軌跡を線として描画)
boolean isDown() ペンを上げる:false 下げる:trueを返す
フィールド
Color tcolor
初期値:緑色
カメの絵の色
double tscale
初期値:0.4
カメの大きさを表す
static boolean
withAurtleAll
初期値:true
true→通常の描画 false→瞬時に描画
TurtleGraphicsで遊ぶ
• Turtleクラスの詳細(その3)
メソッド(続き)
void up() ペンを上げる
void down() ペンを下げる(進んだ軌跡を線として描画)
boolean isDown() ペンを上げる:false 下げる:trueを返す
フィールド
Color tcolor
初期値:緑色
カメの絵の色
double tscale
初期値:0.4
カメの大きさを表す
static boolean
withAurtleAll
初期値:true
true→通常の描画 false→瞬時に描画
習うより
慣れろ!
TurtleGraphicsで遊ぶ
• 基本的な流れ
①ウィンドウ生成
↓
②カメ生成
↓
③ウィンドウにカメ追加
↓
④カメに命令
• サンプルコード
class Test {
pubic static void main(String[] args) {
TurtleFrame f = new TurtleFrame(700, 500);
Turtle t = new Turtle(200, 200, 0);
f.add(t);
t.fd(100);
t.rt(90);
t.fd(130);
}
}
TurtleGraphicsで遊ぶ
TurtleGraphicsで遊ぶ
• サンプルコード
class Test {
pubic static void main(String[] args) {
TurtleFrame f = new TurtleFrame(700, 500);
Turtle t = new Turtle(200, 200, 0);
f.add(t);
t.fd(100);
t.rt(90);
t.fd(130);
}
}
ウィンドウ生成
• サンプルコード
class Test {
pubic static void main(String[] args) {
TurtleFrame f = new TurtleFrame(700, 500);
Turtle t = new Turtle(200, 200, 0);
f.add(t);
t.fd(100);
t.rt(90);
t.fd(130);
}
}
TurtleGraphicsで遊ぶ
②カメ生成
• サンプルコード
class Test {
pubic static void main(String[] args) {
TurtleFrame f = new TurtleFrame(700, 500);
Turtle t = new Turtle(200, 200, 0);
f.add(t);
t.fd(100);
t.rt(90);
t.fd(130);
}
}
TurtleGraphicsで遊ぶ
③ウィンドウにカメ追加
• サンプルコード
class Test {
pubic static void main(String[] args) {
TurtleFrame f = new TurtleFrame(700, 500);
Turtle t = new Turtle(200, 200, 0);
f.add(t);
t.fd(100);
t.rt(90);
t.fd(130);
}
}
TurtleGraphicsで遊ぶ
④カメに命令
TurtleGraphicsで遊ぶ
• 実行結果
TurtleGraphicsで遊ぶ
• もっと遊ぼう!
 ステップ1
  カメを複数作って動かす
 ステップ2
  for文やif文で華麗に制御する
 ステップ3
  Thread(スレッド)で匠のようにあやつる
 ステップ4
  TurtleGraphics3dに挑戦してみる
TurtleGraphicsで遊ぶ
• もっと遊ぼう!
 ステップ1
  カメを複数作って動かす
 
 キーワード
オブジェクト生成
TurtleGraphicsで遊ぶ
• もっと遊ぼう!
 ステップ2
  for文やif文で華麗に制御する
!
 キーワード
for文、if文、break、continue
TurtleGraphicsで遊ぶ
• もっと遊ぼう!
 ステップ3
  Thread(スレッド)で匠のようにあやつる
!
 キーワード
Thread、run、start
TurtleGraphicsで遊ぶ
• もっと遊ぼう!
 ステップ4
  TurtleGraphics3dに挑戦してみる
 
 キーワード
TurtleGraphics3d

More Related Content

PDF
俺のGentooがこんなに可愛いわけがない
PPTX
Docker meetup tokyo_public_r001
PDF
Dimelsa paola toro pérez actividad1_mapa_c
PPTX
フィーチャモデルの描き方
PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
PPT
ADVENTURE AutoGL 「おてがる」
PPTX
Open modeler
PDF
20190821 0823 山梨県下小学校教員対象
俺のGentooがこんなに可愛いわけがない
Docker meetup tokyo_public_r001
Dimelsa paola toro pérez actividad1_mapa_c
フィーチャモデルの描き方
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
ADVENTURE AutoGL 「おてがる」
Open modeler
20190821 0823 山梨県下小学校教員対象

Similar to Turtle Graphicsで遊ぼう! (20)

PDF
glossはおもろい
PDF
EmacsとGlossでお絵描きしてみるよ
PPT
ADVENTUREの他のモジュールの近況
KEY
PyOpenCLによるGPGPU入門
PDF
20180820 山梨県下小学校教員対象研修
PDF
ドッターのためのプログラミングなにそれおいしいの
PDF
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
PPTX
ScalaCL in ScalaKaigi
PDF
IbisPaintのOpenGLES2.0
PPTX
ドッターのためのプログラミングなにそれおいしいの
PDF
Siv3Dで楽しむゲームとメディアアート開発
PDF
openFrameworks Workshop in Kanazawa v001
PPTX
岡山県立大学オープンキャンパス資料
PPTX
20150725 オープンキャンパス資料
PDF
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
PPTX
Scalatronで楽しく学ぶ関数型プログラミング
PPTX
どこでも動くゲームを作るためのベタープラクティス
PDF
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
PDF
Web GLの話
PDF
C#でOpenCL with OpenTK + Cloo
glossはおもろい
EmacsとGlossでお絵描きしてみるよ
ADVENTUREの他のモジュールの近況
PyOpenCLによるGPGPU入門
20180820 山梨県下小学校教員対象研修
ドッターのためのプログラミングなにそれおいしいの
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
ScalaCL in ScalaKaigi
IbisPaintのOpenGLES2.0
ドッターのためのプログラミングなにそれおいしいの
Siv3Dで楽しむゲームとメディアアート開発
openFrameworks Workshop in Kanazawa v001
岡山県立大学オープンキャンパス資料
20150725 オープンキャンパス資料
Media Art II 2013 第4回:openFrameworks アニメーションを極める 動きを生みだす様々なアルゴリズム
Scalatronで楽しく学ぶ関数型プログラミング
どこでも動くゲームを作るためのベタープラクティス
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Web GLの話
C#でOpenCL with OpenTK + Cloo
Ad

More from Arien Kakkowara (9)

PDF
補償光学を用いた太陽観測
PDF
クラスタリングについて
PDF
知的システムなんとか
PDF
Opening Slide
PDF
第5回LOCAL学生部総大会開催告知LTその2
PDF
第5回LOCAL学生部総大会開催開催告知LT
PDF
はじめてのらいとにんぐとーく?
PPTX
しくった
PDF
はじめてのらいとにんぐとーく
補償光学を用いた太陽観測
クラスタリングについて
知的システムなんとか
Opening Slide
第5回LOCAL学生部総大会開催告知LTその2
第5回LOCAL学生部総大会開催開催告知LT
はじめてのらいとにんぐとーく?
しくった
はじめてのらいとにんぐとーく
Ad

Recently uploaded (17)

PDF
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
PDF
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
PDF
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
PDF
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
PDF
My Inspire High Award 2024(岡田秀幸).pptx.pdf
PDF
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
PDF
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
PDF
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
PDF
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
PPTX
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
PDF
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
PDF
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
PDF
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
PDF
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
PDF
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
PDF
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
PDF
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
My Inspire High Award 2024(岡田秀幸).pptx.pdf
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf

Turtle Graphicsで遊ぼう!