Ei, seu jogo tá bonitão! Parabéns!!!
Bom, se você sabe que lá tem uma peça branca ou preta ou vazia, então não vejo motivos para saber se é a white1, white2, etc… aliás, não há motivos para se instanciar estas várias imagens de peças, já que simplesmente uma imagem pra cada (uma branca e uma preta) da conta do recado.
Em outras palavras, todas as peças brancas serão da imagem whitePiece, e as pretas blackPiece. Isso também vai fazer você economizar muita memória, que é uma das razões principais para se utilizar tilemaps, pois as imagens são reaproveitadas em outras partes da tela.
Aliás, existe uma maneira ainda melhor para se desenhar um tilemap, que é através de dois laços for. Isso é conseguido através da utilização dos números desse seu vetor 2d que está armazenando o estado atual do mapa como índices.
Deixa eu tentar explicar melhor… vamos ver… você terá agora o que é comumente chamado de “tileset”, que são vários tiles indexados. Você pode implementar isto usando um simples vetor, desse jeito assim:
[code]Image tileset[] = new Image[3];
tileset[0] = transparentImage;
tileset[1] = whitePiece;
tileset[2] = blackPiece;
// aí, desenha o mapa usando dois laços for aninhados
for (i = 0; i < linhasNoMapa; i++) {
for(j = 0; j < colunasNoMapa; j++) {
// calcula a posição x e y na imagem
x = j * tileWidth;
y = i * tileHeight;
// desenha agora usando o tileset
g.drawImage(tileset[pos[j][i]], x, y, null);
}
}
[/code]
Assim fica bem mais fácil de deesnhar e de entender…
Espero ter clareado as suas idéias… falou ![:slight_smile: :slight_smile:](https://www.guj.com.br/images/emoji/twitter/slight_smile.png?v=9)