1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
for int screen = 0; screen < 4; ++screen {
for int y = 0; y < tilesY; ++y {
for int x = 0; x < tilesX; ++x {
int value = 0;
if y == 0 {
value = 1
}
grid[screen * tilesY * tilesX + y * tilesX + x] = value;
}
}
}
|
1 2 | ABC GHI MNO STU DEF JKL PQR VWX |
1 | ABCDEFGHIJKLMNOPQRSTUVWX |
1 2 3 4 5 6 7 8 9 | int ch = 'A';
for (int screen = ... ) {
for (int y = ... ) {
for (int x = ...) {
grid[...] = ch;
ch++;
}
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 | ... ^ | screen ^ | screen I'd like it to be: screen -> screen -> ... |
1 2 | grid[0*tilesX+17] = 1; grid[0*tilesX+18] = 1; |
1 2 | grid[0*tilesX+y*17+0] = 1; grid[0*tilesX+y*17+1] = 1; |
1 2 | grid[0*tilesX+0*17+0] = 1; grid[0*tilesX+0*17+1] = 1; |
1 2 | grid[0*tilesX+0] = 1; grid[0*tilesX+1] = 1; |
1 | grid[1*tilesY*tilesX + y*tilesX + x] |
1 | grid[N*tilesY*tilesX + y*tilesX + x] |
1 | grid[1*tilesY*tilesX + 0*tilesX + 0] |
1 2 | ABC GHI DEF JKL |
1 2 3 4 5 6 7 8 9 10 | A B C D E F G H I J K L \-+-/ \-+-/ \-+-/ \-+-/ | | | | | | | +-- second row ----\ | | | +---- second screen | | + ------- first row ----/ | | | +-------------- second row ----\ | +---- first screen +-------------------- first row ----/ |
1 2 | ABCDEFGHIJKL 012345678901 |
1 2 3 4 5 6 7 8 9 | for (int y = -4; y < 5; y++) {
for (int x = -8; x < 9; x++) {
uint32 tileX = camera.x + x;
uint32 tileY = camera.y + y;
int tile = grid[tileY * tilesX + tileX]
if (tile == 1) { }
|
1 2 3 4 5 6 7 | if y == 0 || y == tilesY - 1 {
if x == tilesX/2 {
tile = 0
} else {
tile = 1
}
}
|
1 2 3 4 5 6 7 8 9 | for (int y = -4; y < 5; y++) {
for (int x = -8; x < 9; x++) {
uint32 tileX = camera.x + x;
uint32 tileY = camera.y + y;
int tile = grid[tileY * tilesX + tileX]
if (tile == 1) { }
|