在放置砖块时,如何让initBricks函数接受浮动以获得更好的精度?

时间:2014-06-17 23:31:15

标签: breakout

我在尝试使用initBricks时非常精确地定位我的砖块。然而,他们并没有准确地将它们放在9out的小部分上)并且我非常肯定这是因为我的代码正在使用ints,我试图让它使用浮点数。或者原型只接受整数,在这种情况下,如果我必须在砖块之间有10个ROWS和空间,我怎样才能让我的砖块间隔适当?

/**
 * Initializes window with a grid of bricks.
 */
void initBricks(GWindow window)
{
    float brickWidth = WIDTH / (COLS + 1);
    float brickHeight = HEIGHT / (3*ROWS);
    float brickSpace = WIDTH / (20*(ROWS + 1));

    for (int j = 0; j < ROWS; j++) 
        {
            for (int i = 0; i < COLS; i++)
            {
                GRect brick = newGRect(i*brickWidth + i*brickSpace + brickSpace, j*brickHeight + j*brickSpace + brickSpace,
                                                brickWidth, brickHeight);
                setColor(brick, "RED");
                setFilled(brick, true);
                add(window, brick);
            }
        }
}

0 个答案:

没有答案