全ての例題と練習問題は、サポートページからダウンロードできます。ソース ファイルは、本書に掲載されているアプリケーションのものであり、このアプ レット自体のものではないことをご注意ください。
ソースファイル:
public class T21 { public static void main(String[] args){ TurtleFrame f; // 変数 f の型宣言 f = new TurtleFrame(); // TurtleFrameを生成しfに代入 Turtle m = new Turtle(); // Turtle を生成し,m の初期値として代入 Turtle m1 = new Turtle(); // もう一つ生成し,m1 の初期値として代入 f.add(m); // f に m を追加 f.add(m1); // f に m1 を追加 m.fd(100); // m よ前に 100 進め m.rt(90); // m よ右に 90 度回れ m.fd(150); // m よ前に 150 進め m1.rt(90); // m1 よ右に 90 度回れ m1.fd(100); // m1 よ前に 150 進め } } |
ソースファイル:
public class P46 { public static void main(String[] args){ int n = 4, r = 7; TurtleFrame f = new TurtleFrame(); Turtle m = new Turtle(); f.add(m); for(int j = 0; j < r; j++){ for(int i = 0; i < n; i++){ m.fd(50); m.rt(360/n); } m.rt(360/r); } } } |
ソースファイル:
public class HTurtle extends Turtle { //Turtle を拡張する public void polygon(int n, int s){ //polygonメソッドの定義 int a = 360/n; //曲がる角度を求めておく for(int j = 0; j < n; j++){ //n 回繰り返す fd(s); //s 前に進んで rt(a); //a 曲がるのを } } public void house(int s){ //house メソッドの定義 polygon(4,s); //polygon を利用 fd(s); rt(30); polygon(3,s); lt(30); bk(s); //元の場所に戻しておく } } public class T71 { public static void main(String[] args){ TurtleFrame f = new TurtleFrame(); HTurtle m = new HTurtle(); int s = 50; f.add(m); m.house(s); m.up(); m.lt(90); m.fd(50); m.rt(72); m.down(); m.polygon(5, s / 2); m.up(); m.moveTo(100,100,0); m.down(); m.polygon(10, s / 5); } } |
ソースファイル:
public class Tensen extends HTurtle{ int psize = 10; public void fd(int s){ int k, len; for(k = 0, len = 0 ; len + psize <= s; k++, len+= psize){ if(k % 2 == 0) down(); else up(); super.fd(psize); } down(); super.fd(s - len); } public static void main(String[] args){ TurtleFrame f = new TurtleFrame(); Tensen m = new Tensen(); f.add(m); m.fd(100); m.rt(90); m.up(); m.fd(100); m.down(); m.lt(90); m.polygon(5, 50); } } |
ソースファイル:
import java.awt.Color; public class MPolygon extends HTurtle implements Runnable{ int n, s; MPolygon(int x, int y, int a, int n, int s){ super(x, y, a); this.n = n; this.s = s; } public void run(){ polygon(n,s); } public static void main(String[] args){ TurtleFrame f = new TurtleFrame(); MPolygon m = new MPolygon(200,200,0, 10,50); f.add(m); MPolygon m1 = new MPolygon(100,200,0, 5,50); f.add(m1); m1.setColor(new Color(255,0,0)); m1.speed(5); Thread t = new Thread(m); Thread t1 = new Thread(m1); t.start(); t1.start(); System.out.println("Main メソッドは終了する。"); } } |