Отметить N справа налево диагоналей в квадратной сетке |ProcessingJs - PullRequest
0 голосов
/ 01 ноября 2019

Мне нужно отметить (напечатать "+") N (внешний параметр) верхних диагоналей справа налево, вот так .

У меня есть код, который создает сетку и printCellфункция, которая может быть использована для печати символа в ячейке. Это называется printCell (x, y, value);X и y являются индексами требуемой ячейки.

Я выполнил аналогичную задачу для левой и правой диагоналей. это код:

<html> 
 <head>
    <title></title> 
</head>
 <body>
    <p align="center"> 
      <canvas id="mycanvas"></canvas> 
    </p>
 </body> 
 <script src="https://cdn.jsdelivr.net/processing.js/1.4.8/processing.min.js"></script>
 <script>
var sketchProc = function(processingInstance) {
with (processingInstance) {
size(400, 400); 
frameRate(120);
background(255, 255, 255);
var rows = 5;
var colls = rows;
var offset = 400/(rows);
var val = '+';

for (var i = 1; i < rows; i++) {
    var x = offset * i;
    fill(15, 158, 49);
    line(x,0,x,400);
    line(0,x,400,x);
}


var printCell = function(i, j, val){
    fill(0, 0, 0);
    var textLength = (('' + val).length/2)*5;
    text(val, j * offset + (offset/2)-textLength, i * offset + offset/2-textLength);
};

var numDiagonal = 4;

for (var i = 0; i < rows; i++) {
    for(var j  = 0; j < colls; j++) {
        if(i - j < 1  && i - j > -numDiagonal){
            printCell(i,j,''+i-j);
        }
    }
}

}
};

var canvas = document.getElementById("mycanvas"); 
var processingInstance = new Processing(canvas, sketchProc); 
 </script>

</html>

, пожалуйста, помогите мне отметить диагонали справа налево.

...