// The copyright of this program is reserved by NL. /* Turtle Graphics : Dragon Ȑ */ /* */ import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Ex061010g 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[]={300.0,200.0,120.0,80.0,60.0,40.0,27.0,20.0,14.0,10.0,7.0,5.0,3.5}; 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(60.0,150.0); t.setAng(0.0); flag=true; repaint(); } public void paint(Graphics g){ super.paint(g); if(flag==true) Dragon(order,45.0,g); } public void Dragon(int order, double angle,Graphics g){ if(order==0) t.move(length,g); else{ t.turn(-angle); Dragon(order-1,-45.0,g); t.turn(2*angle); Dragon(order-1,45.0,g); t.turn(-angle); } } }