Как алгоритмически раскрасить круг в центре стола? - PullRequest
2 голосов
/ 15 октября 2011

У меня есть таблица, которую я хочу закрасить кругом в центре.

Размер круга должен зависеть от размера массива.

Я покрасил диаметр в диаметрОси I и J, но я застрял тогда.

Так, как закончить этот раунд?

Демо: http://jsfiddle.net/pJt7x/4/

Текущий JavaScript:

var X = 20;
var X2 = X/2;
var X22 = X2/2;

for (i=0; i<=X; i++) {
    $('table').append('<tr>');

    for (j=0; j<=X; j++)
        ((i==X2 && j>=X22 && j<=X2+X22) ||
            (j==X2 && i>=X22 && i<=X2+X22)) ?
                        $('tr:last').append('<td class="x"></td>') : 
                            $('tr:last').append('<td></td>');

    $('table').append('</tr>'); 
}

Ожидаемый результат:

20x20

1 Ответ

5 голосов
/ 15 октября 2011
var X = 20;
var X2 = X / 2;
var X22 = X2 / 2;

for (i = 0; i <= X; i++) {
    $('table').append('<tr>');
    for (j = 0; j <= X; j++) {
        ((i == X2 && j >= X22 && j <= X2 + X22) 
          || (j == X2 && i >= X22 && i <= X2 + X22) 
          || (Math.abs(i - X2) + Math.abs(j - X2) <= X22))

           ? $('tr:last').append('<td class="x"></td>') : $('tr:last').append('<td></td>');
          }
       }
    $('table').append('</tr>');

Пример здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...