Я пытаюсь воссоздать кирпичный кластер с помощью C и портативной библиотеки Stanford (SPL). Цель моей функции initBricks - добавить 5 ROWS из кирпичей с 10 COLUMNS в каждой строке (всего 50 штук). Когда я запускаю этот код, мое окно имеет только 1 ROW из 10 кирпичей. По какой-то причине он не выведет 4 других строки. Я не вижу, где я ошибся в своем коде. Я увеличиваю координату y (0, 0 вверху слева от окна) на 40 после каждой строки.Brick-Breaker in C - увеличение строк кирпича выпуск
// number of rows of bricks
#define ROWS 5
// number of columns of bricks
#define COLS 10
// height and width of bricks
#define BRICK_H 7.5
#define BRICK_W 35
// initializes window with grid of bricks
void initBricks(GWindow window)
{
// set initial brick coordinates
int x_coord = 2;
int y_coord = 10;
for (int i = 0; i < ROWS; i++)
{
// Create 10 columns of bricks
for (int j = 0; j < COLS; j++)
{
// create a brick
GRect brick = newGRect(x_coord, y_coord, BRICK_W, BRICK_H);
setFilled(brick, true);
setColor(brick, "RED");
add(window, brick);
// increment x coordinate for column spacing
x_coord += 40;
}
// increment y coordinate for row spacing
y_coord += 40;
}
}
Любая помощь была бы принята с благодарностью!
Я понимаю, 'x_coord + = 40;' '(в идеале x_coord + = BRICK_W + MORTAR_T;'), но не 'y_coord + = 40;'. –
Вы никогда не перезагружаете свой xcord, я подозреваю, что все кирпичи на оставшихся слоях находятся за пределами вашего порта просмотра. – RyanS
@RyanS жаль, что я ответил в то же время. –