import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class m0104282_04 extends Applet {
	miCanvas mc;
	
	Panel pnl_1;

	Label lbl1 = new Label("高さ");


	TextField tf_numero = new TextField("100");//ツリーの大きさ

	// Drawボタン
	Button botonDibujar = new Button("Draw");

	// 書かれた値を読み取る
	// ここではnを分割数にしている。
	int n1 = Integer.parseInt(tf_numero.getText());
	

	public void init() {
		setBackground(Color.white);
		setLayout(new BorderLayout());
		add("North", pnl_1 = new Panel());
		pnl_1.setLayout(new GridLayout(1, 5));
		pnl_1.setBackground(Color.pink);
		pnl_1.add(lbl1);		
		pnl_1.add(tf_numero);
		pnl_1.add(botonDibujar);

		botonDibujar.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(ActionEvent e) {

				int num = Integer.parseInt(tf_numero.getText());

				do_continuar(num);
			}
		});
	}

	class miCanvas extends Canvas {

		int tf_numero = n1;
		
	}

	public void paint(Graphics g) {
		int i,j;
		int size = n1/4;
		int nx = 800/(int)size + 1;
		int ny = 600/(int)size + 1;
		//座標記憶用の配列を用意
		Point[][] p = new Point[9][2];
		
		p[0][0] = new Point((int)(7*size/6),0);
		p[1][0] = new Point((int)(size/2),size);
		p[2][0] = new Point((int)(5*size)/6,size);
		p[3][0] = new Point((int)(size)/3,2*size);
		p[4][0] = new Point((int)(2*size)/3,2*size);
		p[5][0] = new Point(0,3*size);
		p[6][0] = new Point((int)(7*size)/12,3*size);
		p[7][0] = new Point((int)(7*size)/12,4*size);
		p[8][0] = new Point((int)(7*size)/6,4*size);		
		
		//(7*size/6,0)を通るＹ軸に平行な直線を軸に反転
		for (i = 0; i < 9; i++) {
			p[i][1] = new Point (-(p[i][0].x - (int)(7*size/6)) + (int)(7*size/6), p[i][0].y);
		}


		
		
		
		int x, y;
		for(x=0; x<800; x+=14*size/6){
			for(y=0;y<800;y+=4*size){
				for (j=0; j<2; j++) {	
					for (i=1; i<9; i++) {	
						if (i == 7) {
							g.setColor(Color.orange);
						} else{
							g.setColor(Color.green);
						}
						g.drawLine(p[i-1][j].x+(int)x, p[i-1][j].y+(int)y , p[i][j].x+(int)x, p[i][j].y+(int)y);
					}
				}
			}
		}		
	}

	void do_continuar(int s) {
		
		n1 = s;
		repaint();

	}

}
