public class MyGraphics {
    ToyGraphics tg;		// インスタンスフィールド
    public MyGraphics() {		// コンストラクタ
	tg = new ToyGraphics();	// 初期化
    }
    public void drawLine(int sx,int sy,int ex,int ey,int r,int g,int b) { // インスタンスメソッド
	int x, y;
	x=sx; y=sy;
	if (sx == ex) {		// 垂直の線
	    if (sy == ey) {
		tg.drawRGB(sx,sy,r,g,b);
	    } else if (sy < ey) {
		for (y=sy; y <= ey; y++) {
		    tg.drawRGB(x,y,r,g,b);
		}
	    } else {
		for (y=sy; y >= ey; y--) {
		    tg.drawRGB(x,y,r,g,b);
		}
	    }
	} else if (sy == ey) {	// 水平の線
	    if (sx < ex) {
		for (x=sx; x <= ex; x++) {
		    tg.drawRGB(x,y,r,g,b);
		}
	    } else {
		for (x=sx; x >= ex; x--) {
		    tg.drawRGB(x,y,r,g,b);
		}
	    }
	} else if (Math.abs(ex-sx) >= Math.abs(ey-sy)) { // xを動かす
	    if (sx < ex) {
		for (x=sx; x <= ex; x++) {
		    y = (ey - sy) * (x - sx) / (ex - sx) + sy;
		    tg.drawRGB(x,y,r,g,b);
		}
	    } else {
		for (x = sx; x >= ex; x--) {
		    y = (ey - sy) * (x - sx) / (ex - sx) + sy;
		    tg.drawRGB(x,y,r,g,b);
		}
	    }
	} else {		// yを動かす
	    if (sy <= ey) {
		for (y=sy; y<=ey; y++) {
		    x = (ex - sx) * (y - sy) / (ey - sy) + sx;
		    tg.drawRGB(x,y,r,g,b);
		}
	    } else {
		for (y=sy; y>= ey; y--) {
		    x = (ex - sx) * (y - sy) / (ey - sy) + sx;
		    tg.drawRGB(x,y,r,g,b);
		}
	    }
	}
    }
    public void drawRectangle(int sx,int sy,int w,int h,int r,int g,int b) {
	int x, y;
	for (y=sy; y<sy+h; y++) {
	    for (x=sx; x<sx+w; x++) {
		tg.drawRGB(x,y,r,g,b);
	    }
	}
    }
    //  インスタンスメソッドを自分で追加して下さい
}
