Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в коде с Color.randomRed()

Mr.Cheater Ученик (121), на голосовании 1 год назад
Сталкнулся вот с такой ситуацией:
Каждый кирпич должен быть случайного цвета, но все кирпичи в 1 вертикальной линии почему-то одинаковые.
Как это происходит:
Сначала рисуются кирпичи с нижнего левого угла направо, дальше так же, но уже над этими кирпичами. При этом когда сверху появляется новый кирпич, нижний обретает его цвет. Намечается вопрос: Почему?

Надеюсь кто-то поймет и подскажет что тут происходит.

P.S Вроде бы каждый раз создается новый прямоугольник (кирпич) и единственное, что он имеет общее с прямоугольником под ним - это ширина, высота, X координата. При этом цвет ни к одному из этих параметров не привязан.
Дополнен 1 год назад
// Constants
var WIDTH = 50;
var HEIGHT = 20;
var eachLine = HEIGHT;

var quantityX = getWidth()/WIDTH;
var DELAY = 50;
var i = 0;

function start() {
setTimer(drawWall, DELAY);
}

function drawBrick(x, y, color){
var brick = new Rectangle(WIDTH, HEIGHT);
brick.setColor(color);
brick.setPosition(x,y);
add(brick);
}

function drawWall(){
drawBrick(0 + WIDTH*i, getHeight() - HEIGHT, Color.randomRed());

if(i == quantityX-1){
HEIGHT += eachLine;
i = -1;
}
println(i);
i++;

if(getHeight() == HEIGHT - eachLine){
stopTimer(drawWall);
}
}
Голосование за лучший ответ
Павел Просветленный (25631) 1 год назад
Нихрена не видно. Сам смотрел скриншот? Текст кода публикуй лучше а не картинку. Лишний гемор.
Mr.CheaterУченик (121) 1 год назад
Дополнил вопрос с кодом.
Павел Просветленный (25631) Mr.Cheater, Тут или используется библиотека или код не полный. Что за объект Color? getWidth(), getHeight() это ширина/высота чего? К какому объекту/блоку относятся? Абстракции много. https://www.reddit.com/r/codehs/comments/fkfdfc/936_brick_wall_plz_help/
Похожие вопросы