Я делаю программу, которая рисует сетку из ящиков, и цвет ящика должен отличаться от цвета, примыкающего к ящику.
Мой код сравнивает цвет текущего поля с цветом слева и сверху. Если какой-либо из них совпадает, он выбирает другое случайное число (в качестве цвета). Для плиток в первой строке / столбце я делаю индексы массива моей сетки с отрицательными числами -1, чтобы они не совпадали.
Что у меня есть:
private function fillArray():void {
grid = new Array();
grid[-1] = new Array(-1,-1,-1,-1,-1); //paddles the grid[-1][0 to 4] with -1
for (var i = 0; i < HEIGHT; i++) {
grid[i] = new Array();
grid[i][-1] = -1; // paddles the -1 row with -1
for (var j = 0; j < WIDTH; j++) {
while (grid[i-1][j] == grid[i][j] || grid[i][-j] == grid[i][j]) { //while the current box is the same as those to the left or top
grid[i][j] = Math.floor(Math.random() * COLORS) + 1; //random number time!
}
}
}
}
Это ошибка тайм-аута, и сетка все -1. Я не знаю, что я делаю здесь не так. Спасибо за любую помощь!