Creamos unas clases parecidas a las del jugador, pero para los tiles.

image.png

Al final obtenemos un fondo como este. El problema es que son demasiadas líneas de código solo para un fondo pequeño. Imagina hacerlo para un mapa más grande. Dibujar todo a mano, tile por tile, no tiene sentido.

image.png

Por eso usamos uno de los fundamentos de la programación: los bucles.

public void draw (Graphics2D g2) {
    int columna = 0;
    int fila = 0;
    int x = 0;
    int y = 0;

    while (columna < pj.maxPantallaColumnas && fila < pj.maxPantallaFilas) {
        g2.drawImage(tiles[0].imagen, x, y, pj.tamanioTile, pj.tamanioTile, null);

        columna++;
        x += pj.tamanioTile;

        if (columna == pj.maxPantallaColumnas) {
            columna = 0;
            x = 0;
            fila++;
            y += pj.tamanioTile;
        }
    }
}

image.png

Esto ya es más manejable. Pero aun así, para el tamaño real de nuestra pantalla y para un mapa completo, seguir guardando todo en el código se vuelve incómodo y poco práctico. Lo mejor es usar archivos externos y guardar ahí los datos de nuestro mapa

<aside> 📌

Aquí hay mas info de archivos : Leer Archivo

</aside>

Lo haremos usando un .txt

image.png

Usando Archivos

image.png