turtle graphicsで遊ぼう!

22
Turtle Graphics で遊ぼう!

Upload: arien-kakkowara

Post on 08-Jul-2015

325 views

Category:

Education


0 download

DESCRIPTION

TurtleGraphicsで遊ぶためのバイブル。 LOCAL学生部 GWEvent 2014 にて使われたスライドです。

TRANSCRIPT

Page 1: Turtle Graphicsで遊ぼう!

Turtle Graphics で遊ぼう!

Page 2: Turtle Graphicsで遊ぼう!

用意するもの

• Eclipse(総合開発環境)

自分でJavaソースコードを書く、コンパイル、実行まで出来る環境があればそれでもOK

• Turtleクラス

偉大なライブラリを作って頂いた先人に感謝

Page 3: Turtle Graphicsで遊ぼう!

Eclipse• USBフラッシュメモリ内に保存

各自OSに対応したEclipseをコピーして下さい

Windows 32bit・64bit

Mac 32bit・64bit

Page 4: Turtle Graphicsで遊ぼう!

Turtleクラス• USBフラッシュメモリに保存

 各自Turtleフォルダごとコピー下さい

• GitHubから入手する

https://github.com/arienkakkowara/TurtleGraphics

上記のリポジトリをcloneして下さい

Page 5: Turtle Graphicsで遊ぼう!

Turtleクラス• TurtleGraphicsとは?

 TurtleGraphics(タートルグラフィックス)は子供にプログラミングを紹介するのによく使われます。TurtleGraphicsはWally FeurzigとSeymore Papertが1966年に開発したLogoプログラミング言語の一部でした。

引用:http://docs.python.jp/3.3/library/turtle.html

Page 6: Turtle Graphicsで遊ぼう!

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() 方眼紙のようなマス目を表示

Page 7: Turtle Graphicsで遊ぼう!

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に変更する

Page 8: Turtle Graphicsで遊ぼう!

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を返す

Page 9: Turtle Graphicsで遊ぼう!

TurtleGraphicsで遊ぶ• Turtleクラスの詳細(その3)

メソッド(続き)void up() ペンを上げるvoid down() ペンを下げる(進んだ軌跡を線として描画)boolean isDown() ペンを上げる:false 下げる:trueを返す

フィールド

Color tcolor 初期値:緑色 カメの絵の色

double tscale 初期値:0.4 カメの大きさを表す

static boolean withAurtleAll

初期値:true true→通常の描画 false→瞬時に描画

Page 10: Turtle Graphicsで遊ぼう!

TurtleGraphicsで遊ぶ• Turtleクラスの詳細(その3)

メソッド(続き)void up() ペンを上げるvoid down() ペンを下げる(進んだ軌跡を線として描画)boolean isDown() ペンを上げる:false 下げる:trueを返す

フィールド

Color tcolor 初期値:緑色 カメの絵の色

double tscale 初期値:0.4 カメの大きさを表す

static boolean withAurtleAll

初期値:true true→通常の描画 false→瞬時に描画

習うより

慣れろ!

Page 11: Turtle Graphicsで遊ぼう!

TurtleGraphicsで遊ぶ• 基本的な流れ

①ウィンドウ生成 ↓

②カメ生成 ↓

③ウィンドウにカメ追加 ↓

④カメに命令

Page 12: Turtle Graphicsで遊ぼう!

• サンプルコード 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で遊ぶ

Page 13: Turtle Graphicsで遊ぼう!

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); } }

ウィンドウ生成

Page 14: Turtle Graphicsで遊ぼう!

• サンプルコード 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で遊ぶ

②カメ生成

Page 15: Turtle Graphicsで遊ぼう!

• サンプルコード 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で遊ぶ

③ウィンドウにカメ追加

Page 16: Turtle Graphicsで遊ぼう!

• サンプルコード 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で遊ぶ

④カメに命令

Page 17: Turtle Graphicsで遊ぼう!

TurtleGraphicsで遊ぶ• 実行結果

Page 18: Turtle Graphicsで遊ぼう!

TurtleGraphicsで遊ぶ• もっと遊ぼう!  ステップ1   カメを複数作って動かす

 ステップ2   for文やif文で華麗に制御する

 ステップ3   Thread(スレッド)で匠のようにあやつる

 ステップ4   TurtleGraphics3dに挑戦してみる

Page 19: Turtle Graphicsで遊ぼう!

TurtleGraphicsで遊ぶ• もっと遊ぼう!  ステップ1   カメを複数作って動かす

   キーワード オブジェクト生成

Page 20: Turtle Graphicsで遊ぼう!

TurtleGraphicsで遊ぶ• もっと遊ぼう!  ステップ2   for文やif文で華麗に制御する

! キーワード for文、if文、break、continue

Page 21: Turtle Graphicsで遊ぼう!

TurtleGraphicsで遊ぶ• もっと遊ぼう!  ステップ3   Thread(スレッド)で匠のようにあやつる

! キーワード Thread、run、start

Page 22: Turtle Graphicsで遊ぼう!

TurtleGraphicsで遊ぶ• もっと遊ぼう!  ステップ4   TurtleGraphics3dに挑戦してみる

   キーワード TurtleGraphics3d