保存Koch.java文件,和画图小乌龟Turtle.java文件即可
Koch.java
public class Koch {
public void draw(int n) {
Turtle t = new Turtle();
t.move(10,200);
t.penDown();
drawKoch(t, 300 ,n);
}
public void drawKoch(Turtle t, double len, int n){
if (n < 1) t.go(len);
else{
// for (int a = 60; a <= 420; a += 180){
for (int i = 0; i < 3; i++){
int a = 60 + 180*i;
drawKoch(t, len / 3, n - 1);
t.rotate(a);
}
drawKoch(t, len / 3, n - 1);
}
}
public static void main(String[] args) {
Koch a = new Koch();
for(int n = 1; n<=6; n++)
a.draw(n);
}
}
Turtle.java
/* Turtle.java
*
* Copyright (C) 2004 by Shigeru Chiba, All rights reserved.
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.util.Vector;
import java.util.Iterator;
class Pond extends JPanel {
private BufferedImage bimg;
private Vector turtles; // must be atomic.
private static final int WIDTH = 400;
private static final int HEIGHT