import java.applet.*;
import java.awt.*;
import java.util.*;

public class Orange extends Applet {
	public void paint(Graphics g)
	{

		//c.drawCircle(g);
		//c2.fillCircle(g);

		//Color color = new Color(64, 255, 64);
		int horn = 6;
		//int centerX = 200, centerY = 200;
		int radius = 20;
		int x, y;

		for (int i = 0; i <= getSize().height / (radius * 3); i++)
		{
			for (int j = 0; j <= getSize().width / (radius * 3); j++)
			{
				x = j * radius * 3;
				y = i * radius * 3;
				if (j % 2 == 0)
				{
					//x += radius;
					y += radius;
				}
				fillPattern(g, x, y, radius, horn);
			}
		}

		/*
		for (int i = 0; i < getSize().height / radius; i++)
		{
			for (int j = 0; j < getSize().width / radius; j++)
			{
				for (int k = 0; k < horn; k++)
				{
					x = j * radius + (int)(radius * Math.sin(radian * k));
					y = i * radius + (int)(radius * Math.cos(radian * k));
					drawCircle(g, x, y, radius, new Color(i * 20, j * 20, k * 20));
				}
			}
		}
		*/
	}

	public void fillPattern(Graphics g, int centerX, int centerY, int radius, int horn)
	{
		double radian = Math.PI * 2 / horn;
		int x = 0, y = 0;

		for (int i = 0; i < 5; i++)
		{
			for (int k = 0; k < horn; k++)
			{
				x = centerX + (int)((radius + i * radius / 4) * Math.sin(radian * k));
				y = centerY + (int)((radius + i * radius / 4) * Math.cos(radian * k));
				fillCircle(g, x, y, (int)(radius / 1.5 - i * 2), new Color(64, 196 - i * 10, 64));
			}
		}
		fillCircle(g, centerX, centerY, radius, new Color(64, 196, 64));
		fillCircle(g, centerX, centerY, radius - radius / 6, new Color(128, 196, 128));
		fillCircle(g, centerX, centerY, radius - radius / 4, new Color(128, 255, 128));
	}

	public void drawCircle(Graphics g, int x, int y, int radius, Color color)
	{
		g.setColor(color);
		g.drawOval(x - radius, y - radius, radius * 2, radius * 2);	// X, Y, X’¼Œa, Y’¼Œa
	}

	public void fillCircle(Graphics g, int x, int y, int radius, Color color)
	{
		g.setColor(color);
		g.fillOval(x - radius, y - radius, radius * 2, radius * 2);	// X, Y, X’¼Œa, Y’¼Œa
	}

}
