// The copyright of this program is reserved by NL. /* Turtle Graphics : C Ȑ */ /* */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Ex061010h extends JApplet implements ActionListener{ dTurtle t; boolean flag=false; double length; int order; JComboBox cb; String cbl[]={"n=1","n=2","n=3","n=4","n=5","n=6","n=7","n=8","n=9","n=10","n=11","n=12","n=13"}; double Len[]={250.0,170.0,105.0,70.0,47.0,33.0,21.5,15.0,11.0,7.5,5.5,3.8,2.7}; public void init(){ Container cp = getContentPane(); JPanel pl = new JPanel(); pl.setBackground(Color.black); t = new dTurtle(); pl.setLayout(null); cb = new JComboBox(cbl); cb.setBounds(0,0,60,20); cb.setSelectedIndex(0); cb.addActionListener(this); pl.add(cb); cp.add(pl); } public void actionPerformed(ActionEvent event){ order = cb.getSelectedIndex()+1; length=Len[order-1]; t.setColor(Color.yellow); t.setPos(125.0,120.0); t.setAng(0.0); flag=true; repaint(); } public void paint(Graphics g){ super.paint(g); if(flag==true) Ccurve(order,45.0,g); } public void Ccurve(int order, double angle,Graphics g){ if(order==0) t.move(length,g); else{ t.turn(-angle); Ccurve(order-1,45.0,g); t.turn(2*angle); Ccurve(order-1,45.0,g); t.turn(-angle); } } }