0
我正在尝试构建一个小游戏,在那里我有一个大网格。 (10x20)空间和一个小网格(3x3)。我想将小网格映射到大网格上。映射大网格上的小网格
我必须能够指定一个y /行的位置和网格放置的x/cell位置。
我该怎么做?
实施例:
small grid:
|0|1|0|
|1|1|1|
|0|1|0|
large grid
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
result:
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|1|0|0|0|0|0
|0|0|0|1|1|1|0|0|0|0
|0|0|0|0|1|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
|0|0|0|0|0|0|0|0|0|0
UPDATE 游戏是俄罗斯方块。我有一个小格子(砖)不能从大格子边界出来的检查。
A brick holds:
X: cell position on the large grid
Y: row position on the large grid
Width: the width of the small grid
Height: the height of the small grid
Fields: the small grid where some fields are 0 (unmarked), and some are 1 (marked)
我已经试过这样的事情:但不能让它的工作
for (var row = brick.y; row < brick.y + brick.height; row++) {
for (var cell = brick.x; cell < brick.x + brick.width; cell++) {
for (var fieldRow = 0; fieldRow < brick.type.fields.length; fieldRow++) {
for (var fieldCell = 0; fieldCell < brick.type.fields[fieldRow].length; fieldCell++) {
console.log(brick.type.fields[fieldRow][fieldCell]);
if (brick.type.fields[fieldRow][fieldCell] == 1) {
this.grid[row][cell] = 1;
}
}
}
}
}
你试过了什么?小网格点服从哪些不等式?边界条件如何(大网格的小网格边界)? –
如果你不想计算边界穿透,你应该使用一些额外的缓冲背景 –
我已经更新了这个问题.. – TryingToImprove