import java.awt.Color;

public class TikkuUkko {
    private Nelio pää;
    private Viiva kaula;
    private Kolmio vartalo;
    private Viiva vasenKäsi;
    private Viiva oikeaKäsi;
    private Viiva vasenJalka;
    private Viiva oikeaJalka;

    public TikkuUkko(double x, double y, double pituus, double leveys, Color väri) {
	pää = new Nelio(x + 0.25*leveys, y + 0.8*pituus, 0.5*leveys, väri);
	kaula = new Viiva(x + 0.5*leveys, y + 0.7*pituus,
			  x + 0.5*leveys, y + 0.8*pituus,
			  väri);
	vartalo = new Kolmio(x + 0.5*leveys, y + 0.45*pituus,
			     x + leveys, y + 0.7*pituus,
			     x, y + 0.7*pituus,
			     väri);
	vasenKäsi = new Viiva(x, y + 0.4*pituus,
			      x, y + 0.7*pituus,
			      väri);
	oikeaKäsi = new Viiva(x + leveys, y + 0.4*pituus,
			      x + leveys, y + 0.7*pituus,
			      väri);
	vasenJalka = new Viiva(x, y, 
			       x + 0.5*leveys, y + 0.45*pituus,
			       väri);
	oikeaJalka = new Viiva(x + leveys, y, 
			       x + 0.5*leveys, y + 0.45*pituus,
			       väri);
    }

    public String toString() {
	return "TikkuUkko";
    }

    public void piirrä(Piirto piirto) {
	pää.piirrä(piirto);
	kaula.piirrä(piirto);
	vartalo.piirrä(piirto);
	vasenKäsi.piirrä(piirto);
	oikeaKäsi.piirrä(piirto);
	vasenJalka.piirrä(piirto);
	oikeaJalka.piirrä(piirto);
    }

    public void siirrä(double dx, double dy) {
	pää.siirrä(dx, dy);
	kaula.siirrä(dx, dy);
	vartalo.siirrä(dx, dy);
	vasenKäsi.siirrä(dx, dy);
	oikeaKäsi.siirrä(dx, dy);
	vasenJalka.siirrä(dx, dy);
	oikeaJalka.siirrä(dx, dy);
    }

    public static void main(String[] args) {
	final int leveys = 200;
	final int korkeus = 200;
	Piirto p = new Piirto(leveys, korkeus);

	TikkuUkko tu = new TikkuUkko(80, 40, 120, 40, Color.blue);
	tu.piirrä(p);
    }

}
