爪哇建造砖砌金字塔
我试图解决的问题是,在窗户中央用砖块砌一个金字塔。随着代码的崩溃,我希望第一排应该有1块砖,第二排应该有2块砖,第三排应该有3块砖,直到金字塔底部有12块砖。取而代之的是,只有一块砖块出现在屏幕中央。我能做些什么来更正我的代码
import acm.program.*;
import acm.graphics.*;
public class BrickPyramid extends GraphicsProgram{
public void run() {
/** xBrick, yBrick trying to calculate for the center of the window **/
double xBrick = (getWidth() - BRICK_WIDTH) / 2 ;
double yBrick = (getHeight() - BRICK_HEIGHT) /2 ;
/** getting the size of the brick by multiplying the brick width by brick height **/
double buildingBrick = BRICK_WIDTH * BRICK_HEIGHT;
for (int i = 0 ; i <= 12; i ++ ){
for (int j = 0; j < BRICKS_IN_BASE; j++){
double x = i * buildingBrick;
double y = j * buildingBrick;
/* adding the brick with starting point xbrick, ybrick **/
GRect brick = new GRect (xBrick, yBrick, BRICK_WIDTH, BRICK_HEIGHT);
add(brick);
}
}
}
private static final int BRICK_WIDTH = 100;
private static final int BRICK_HEIGHT = 50;
private static final int BRICKS_IN_BASE = 12;
}
# 1 楼答案
不知道您是否仍在寻找答案,但此代码起作用:
公共类金字塔扩展图形程序{
专用静态最终整砖宽度=30
}
# 2 楼答案
使用多次执行的这一行构建所有砖块:
但是,您永远不会更改传递给构造函数的任何变量的值,因此砖块都绘制在同一位置
您需要为每个砖更改这些值。也许用i和j来确定这些值