如何计算像数独游戏这样的网格中的单元格间隙?
how to calculate the cells gap in a grid like Sudoku game?
这就是我现在正在使用的并且它正在工作
var cellSize:Number = 36;
var cellGap:Number = 4;
var row:Number;
var col:Number;
for (var a:int = 0 ; a < puzzleSTR.length ; a++)
{
col = a % 9;
row = Math.floor(a / 9);
var cell:Cell = new Cell(puzzleSTR.charAt(a));
cell.x = col * (cellSize + cellGap);
cell.y = row * (cellSize + cellGap);
container.addChild(cell);
cells.push(cell);
}
结果是 9*9 的网格,它们之间有 4 个像素的间距,现在我想要相同的结果,但间距应该是水平和垂直每 3 个单元格 8 个,就像数独游戏一样。
我使用 actionscript3 但我只需要任何语言的概念
谢谢
因为你是绝对定位元素,你需要一个额外的 4px 间隙(除了默认的 4px 间隙,等于 8px),从第四列和 对于每个后续列 在那一行。从第 7 列开始,您需要添加 8px,以解决这两个差距。
同样的逻辑也适用于行距。请注意,我正在与 3
和 6
进行比较以获得第四和第七列,因为变量是从零开始的。
var extraColPadding = col >= 6 ? 8 : col >= 3 ? 4 : 0;
var extraRowPadding = row >= 6 ? 8 : row >= 3 ? 4 : 0;
cell.x = col * (cellSize + cellGap) + extraColPadding;
cell.y = row * (cellSize + cellGap) + extraRowPadding;
这就是我现在正在使用的并且它正在工作
var cellSize:Number = 36;
var cellGap:Number = 4;
var row:Number;
var col:Number;
for (var a:int = 0 ; a < puzzleSTR.length ; a++)
{
col = a % 9;
row = Math.floor(a / 9);
var cell:Cell = new Cell(puzzleSTR.charAt(a));
cell.x = col * (cellSize + cellGap);
cell.y = row * (cellSize + cellGap);
container.addChild(cell);
cells.push(cell);
}
结果是 9*9 的网格,它们之间有 4 个像素的间距,现在我想要相同的结果,但间距应该是水平和垂直每 3 个单元格 8 个,就像数独游戏一样。
我使用 actionscript3 但我只需要任何语言的概念 谢谢
因为你是绝对定位元素,你需要一个额外的 4px 间隙(除了默认的 4px 间隙,等于 8px),从第四列和 对于每个后续列 在那一行。从第 7 列开始,您需要添加 8px,以解决这两个差距。
同样的逻辑也适用于行距。请注意,我正在与 3
和 6
进行比较以获得第四和第七列,因为变量是从零开始的。
var extraColPadding = col >= 6 ? 8 : col >= 3 ? 4 : 0;
var extraRowPadding = row >= 6 ? 8 : row >= 3 ? 4 : 0;
cell.x = col * (cellSize + cellGap) + extraColPadding;
cell.y = row * (cellSize + cellGap) + extraRowPadding;