1、写一个GraphicsProgram类的子类,绘制如下图所示的金字塔,该金字塔由砖块逐
行堆砌而成,随着塔高递增,砖块的数量逐层递减1
这个金字塔应该放置于窗口底部,居中对齐,并设置以下常量:
BRICK_WIDTH 砖块宽度(30 像素)
BRICK_HEIGHT 砖块高度(12 像素)
BRICKS_IN_BASE 底层砖块数量(14)
括号里的数量对应上图的数值,在程序设计过程中,这个值应当是可以修改的。
code:
//从上至下逐行画
for(int i = 1;i <= BRICKS_IN_BASE;i++){
int Yb = H - (BRICKS_IN_BASE - i + 1)*BRICK_HEIGHT;
for(int j = 1;j <= i;j++){
int firstBrick = Mx - i * (BRICK_WIDTH/2);
int Xb = firstBrick + (i-j)*BRICK_WIDTH;
GRect b = new GRect(Xb, Yb, BRICK_WIDTH, BRICK_HEIGHT);
add(b);
}
}
}
}
2、假设你受雇编写程序,内容是画一个箭靶的图像——当然如果你更希望它具有实际的商
业用途,你也可以将它看作一家全国性百货公司的LOGO——如下图所示
这个图像只是对GOval类的三次简单运用(GOval类用于在图形窗口中显示椭圆),即按
正确的次序画出两红一白三个圆。最外侧的圆半径应为1 英寸(72 像素),白圆半径应为0.65
英寸,最里侧的红圆半径应为0.3 英寸。请将图像在图形程序窗口中居中显示。
code:
public static final int R = 72;
public void run() {
//获取窗口中点坐标
int x = getWidth() / 2;
int y = getHeight() / 2;
//由外至内逐一画圆(并上色)
GOval o1 = new GOval(x-R/2,y-R/2,R,R);
o1.setFilled(true);
o1.setColor(Color.RED);
add(o1);
GOval o2 = new GOval(x-R*0.65/2,y-R*0.65/2,R*0.65,R*0.65);
o2.setFilled(true);
o2.setColor(Color.white);
add(o2);
GOval o3 = new GOval(x-R*0.3/2,y-R*0.3/2,R*0.3,R*0.3);
o3.setFilled(true);
o3.setColor(Color.RED);
add(o3);
}
}
第三个有点莫名其妙,到时候再说 = =
发这个的时候发现电脑中毒了,鸡动。。